このページ以下では、ソースコード付きの小さなJava Swing
アプリケーションを例にしてGUI
プログラム作成のコツなどを解説しています。
Swing
Swing
はGUI
(グラフィカル・ユーザ・インタフェース)を作成するためのJava
標準のコンポーネントセット(ライブラリ、UI
ツールキット)です。
Latest Articles
- 2025-07-07
JTableの日付セルエディタとしてJTableで作成したカレンダーを使用する
JTable
のDate
用セルエディタとしてJTable
で作成したカレンダーをJPopupMenu
に配置して使用することで日付の選択・変更を可能にします。
- 2025-06-30
JTableのセル選択を半透明化して上書き
JTable
のセル選択をJLayer
側で描画してセル選択状態を半透明色で上書きとセル選択領域へのフチ設定を実行しています。
- 2025-06-23
JPopupMenuがキー入力で開く位置を選択セル基準に変更する
JTable
やJTree
に設定したJPopupMenu
がキー入力で開く場合、その表示位置が選択セル基準になるよう設定します。
- 2025-06-16
JPopupMenuをマウスクリックなしで自動的に開閉する
JButton
領域内にマウスカーソルが入ったら自動的にJPopupMenu
を開き、JButton
やJPopupMenu
領域外にマウスカーソルが出たら自動的にそれを閉じるようイベントリスナーを設定します。
- 2025-06-09
JTreeで表示したフォルダ構造でWindowsのlnkショートカット先に移動する
JTree
を使用して作成したフォルダ構造のTreeNode
がWindows
のlnk
ショートカットの場合、JFileChooser
のShellFolder
を利用してリンク先フォルダに移動可能にします。
Update List
List of Tips
javax.swing.JComponent
- JTable(75)
- JTree(65)
- JTextComponent(33)
- JButton AbstractButton(37)
- JComboBox(82)
- JTabbedPane(77)
- JScrollPane JViewport JScrollBar(69)
- JMenuBar JToolBar JMenu JMenuItem JSeparator(62)
- JPopupMenu(57)
- JList(55)
- JLayer(53)
- JFrame JDialog JWindow(48)
- JLabel(46)
- JToolTip(36)
- JInternalFrame JLayeredPane JDesktopPane(35)
- JSlider(34)
- JFileChooser(34)
- JProgressBar ProgressMonitor(33)
- JSpinner(31)
- JPanel(22)
- JSplitPane(20)
- JOptionPane(13)
- JColorChooser(7)
Download
git clone https://github.com/aterai/java-swing-tips.git
Licence
このページ以下のすべてのソースコードはGitHubで、MITライセンスのもと公開しています。
Policy
- 最も欲しいものはサンプル (あるチュートリアルの思い出 - 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
ファイルを添付
Environments
- 動作環境、サンプルの実行方法などについて
- このサイトにあるサンプルの動作・テスト環境や
JDK
のダウンロード・利用方法、質問・不具合報告についてのお願いなど
- このサイトにあるサンプルの動作・テスト環境や
- Swing関係のバグについて
- このサイトのサンプルの不具合ではなく
Swing
自体の不具合についてのメモ
- このサイトのサンプルの不具合ではなく
Reference
- Java Swing 参考リンク
- 参考にしたサイトなどの一覧