このページ以下では、ソースコード付きの小さなJava Swing
アプリケーションを例にしてGUI
プログラム作成のコツなどを解説しています。
Swingとは
Swing
はGUI
(グラフィカル・ユーザ・インタフェース)を作成するためのJava
標準のコンポーネントセット(ライブラリ、UI
ツールキット)です。
新着記事
- 2024-12-02
TableColumnのドラッグによる順序変更が可能な領域を制限する
JTableHeader
の列順序変更ドラッグが開始可能な領域をTableColumn
の上半分に限定し、マウスカーソルの変更とドラッグハンドルアイコンの描画をJLayer
上で実行します。
- 2024-11-25
JListに固定ヘッダを実装する
JList
の表示領域に存在する行を検索して特定のデータを保持するセルをヘッダとしてJLayer
上に固定して描画します。
- 2024-11-18
JTableの列の境界上に追加挿入カーソルを表示する
JTable
の各列の間にマウスを移動したときその境界線上にクリックで新規のTableColumn
が挿入可能なカーソルを描画します。
- 2024-11-11
JSliderとテキスト入力欄を重ねて配置する
JSlider
とJFormattedTextField
をOverlayLayout
で重ねて配置した数値入力コンポーネントを作成します。
- 2024-11-04
JToggleButton内に選択状態を同期したJRadioButtonを描画する
JTobbleButton
内に選択状態を同期したJRadioButton
と複数行テキストを描画してRadioCard
を作成します。
更新履歴
Tips一覧
javax.swing.JComponent
- JTable(71)
- JTree(61)
- JTextComponent(30)
- JButton AbstractButton(37)
- JComboBox(82)
- JTabbedPane(76)
- JScrollPane JViewport JScrollBar(67)
- JMenuBar JToolBar JMenu JMenuItem JSeparator(60)
- JList(53)
- JFileChooser JOptionPane JColorChooser(52)
- JPopupMenu(51)
- JLayer(50)
- JFrame JDialog JWindow(47)
- JTextField JPasswordField JFormattedTextField(46)
- JLabel(45)
- JPanel JSplitPane(40)
- JInternalFrame JLayeredPane JDesktopPane(35)
- JToolTip(35)
- JSlider(33)
- JProgressBar ProgressMonitor(33)
- JSpinner(29)
ダウンロード
git clone https://github.com/aterai/java-swing-tips.git
ライセンス
このページ以下のすべてのソースコードはGitHubで、MITライセンスのもと公開しています。
編集方針
- 最も欲しいものはサンプル (あるチュートリアルの思い出 - Backnumbers: Steps to Phantasien)
- 各ページからダブルクリックなどで実行可能な
JAR
ファイルをダウンロードが可能
- 各ページからダブルクリックなどで実行可能な
- SSCCE (Short, Self Contained, Correct Example)
- MCVE (How to create a Minimal, Complete, and Verifiable example - Help Center - Stack Overflow)
- 最小限の・自己完結した・確認可能なサンプルコードの書き方 - ヘルプ センター - スタック・オーバーフロー
- すべての記事毎に、ソースコードや画像などのリソース、それらをAntでコンパイル、実行するための
build.xml
をまとめたzip
ファイルを添付
動作環境
- 動作環境、サンプルの実行方法などについて
- このサイトにあるサンプルの動作・テスト環境や
JDK
のダウンロード・利用方法、質問・不具合報告についてのお願いなど
- このサイトにあるサンプルの動作・テスト環境や
- Swing関係のバグについて
- このサイトのサンプルの不具合ではなく
Swing
自体の不具合についてのメモ
- このサイトのサンプルの不具合ではなく
参考リンク
- Java Swing 参考リンク
- 参考にしたサイトなどの一覧