このページ以下では、ソースコード付きの小さなJava Swing
アプリケーションを例にしてGUI
プログラム作成のコツなどを解説しています。
Swingとは
Swing
は、GUI
(グラフィカル・ユーザ・インタフェース)を作成するための、Java
標準のコンポーネントセット(ライブラリ、UI
ツールキット)です。
新着記事
- 2023-03-27
JTableHeaderのTableColumnを斜め線で分割する
JTableHeader
の第0
番目のTableColumn
を斜め線で分割して行と列で異なる見出しを表示します。
- 2023-03-20
JToolBar内にJMenuBarを配置して分離・移動可能に設定する
JToolBar
内にJMenuBar
を配置することで分離・移動可能なメニューを作成します。
- 2023-03-13
JListでドットマトリクスLEDデジタル時計を作成する
JList
を垂直方向ニュースペーパー・スタイルレイアウトに設定して各セルにLED
風Icon
を配置し、ドットマトリクスLED
デジタル時計を作成します。
- 2023-03-06
JPasswordFieldでPINコード入力欄を作成する
JPasswordField
を使用して数字4
桁のPIN
コード入力欄を作成します。
- 2023-02-27
JScrollPaneにJTableを配置して連続月間カレンダーを作成する
JScrollPane
にJTable
を配置してマウスホイールなどでスクロール可能な連続月間カレンダーを作成します。
更新履歴
Tips一覧
javax.swing.JComponent
- JTable(62)
- JTree(53)
- JTextComponent(27)
- JButton AbstractButton(35)
- JComboBox(73)
- JTabbedPane(70)
- JScrollPane JViewport JScrollBar(64)
- JMenuBar JToolBar JMenu JMenuItem JSeparator(48)
- JList(47)
- JFrame JDialog JWindow(46)
- JFileChooser JOptionPane JColorChooser(44)
- JPopupMenu(44)
- JLabel(44)
- JLayer(42)
- JTextField JPasswordField JFormattedTextField(41)
- JPanel JSplitPane(40)
- JInternalFrame JLayeredPane JDesktopPane(34)
- JSlider(31)
- JToolTip(31)
- JProgressBar ProgressMonitor(30)
- JSpinner(27)
ライセンス
このページ以下のすべてのソースコードはGitHubで、MITライセンスのもと公開しています。
Git
リポジトリを取得する場合:git clone https://github.com/aterai/java-swing-tips.git
Subversion
で特定のディレクトリ以下のみ取得する場合:# 例えばSurrogatePair以下のサンプルコードのみ取得する svn co https://github.com/aterai/java-swing-tips/trunk/SurrogatePair
編集方針
- 最も欲しいものはサンプル (あるチュートリアルの思い出 - 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 参考リンク
- 参考にしたサイトなどの一覧