Swing のバックアップの現在との差分(No.339)
- title: Java Swing Tips
keywords: [Java, Swing, SSCCE, MCVE]
hreflang:
href: https://java-swing-tips.blogspot.com/ lang: en
description: ソースコード付きの小さな Java Swing アプリケーションを例にしてGUI プログラム作成のコツなどを解説 author: aterai pubdate: 2003-09-25 このページ以下では、ソースコード付きの小さなJava Swing
アプリケーションを例にしてGUI
プログラム作成のコツなどを解説しています。
Swingとは
Swing
は、GUI
(グラフィカル・ユーザ・インタフェース)を作成するための、Java
標準のコンポーネントセット(ライブラリ、UI
ツールキット)です。
新着記事
- 2023-11-06
JTableの行を右クリックで選択して同時にJPopupMenuを開く
JTable
の行を右クリックした場合、その選択状態の変更とJPopupMenu
の表示を両方実行する方法をテストします。 - 2024-03-25
JTextArea内の単語上にマウスカーソルでJToolTipを表示する
JTextArea
内でマウスカーソルが乗った単語の開始オフセットなどをJToolTip
で表示します。
- 2023-10-30
JTextFieldにフォーカスの有無でフチ色を変更するBorderを設定する
JTextField
にフォーカスが適用されたらそのフチ色を変更してハイライトするBorder
を設定します。 - 2024-03-18
JToolBarとJMenuBarを切り替える
JToolBar
に配置したハンバーガーメニュー風のJButton
をクリックしてこれをJMenuBar
と切り替えます。
- 2023-10-23
JTableのグリッド線描画をUIDefaultsから復元する
JTable
のグリッド線を表示するかをLookAndFeel
のデフォルト設定から復元するよう設定します。 - 2024-03-11
JComboBoxのBorderをドロップダウンリストの表示状態で切り替える
JComboBox
のBorder
をドロップダウンリストの表示状態で切り替えて左右の辺が直線で描画されるよう設定します。
- 2023-10-16
JFormattedTextFieldに等幅フォントを設定する
JFormattedTextField
やJTextField
の推奨サイズを列数とフォントのサイズから計算します。 - 2024-03-04
Path2Dで指定した隅を丸めたランウド矩形図形を作成する
Path2D
を使用して指定した隅のみをベジェ曲線で丸めたランウド矩形図形を作成します。
- 2023-10-09
JTableの行を複数条件でソートする
JTable
の列に複数のソートキーを使用するComparator
を設定して複合ソートを実行します。 - 2024-02-26
JTreeのTreeNodeが編集を開始可能かを調査する
JTree
のノードエディタが編集を開始できるかどうかをTreePath
やMouseEvent
から状態を取得して判断します。
更新履歴
Tips一覧
javax.swing.JComponent
- JTable(66)
- JTable(67)
- JTree(53)
- JTree(55)
- JTextComponent(29)
- JTextComponent(30)
- JButton AbstractButton(35)
- JComboBox(75)
- JTabbedPane(72)
- JComboBox(78)
- JTabbedPane(73)
- JScrollPane JViewport JScrollBar(65)
- JMenuBar JToolBar JMenu JMenuItem JSeparator(52)
- JMenuBar JToolBar JMenu JMenuItem JSeparator(57)
- JList(51)
- JFileChooser JOptionPane JColorChooser(50)
- JFileChooser JOptionPane JColorChooser(51)
- JPopupMenu(48)
- JFrame JDialog JWindow(46)
- JTextField JPasswordField JFormattedTextField(46)
- JPopupMenu(46)
- JLayer(45)
- JLabel(44)
- JLabel(45)
- JPanel JSplitPane(40)
- JInternalFrame JLayeredPane JDesktopPane(35)
- JToolTip(33)
- JToolTip(35)
- JSlider(32)
- JProgressBar ProgressMonitor(31)
- JProgressBar ProgressMonitor(32)
- JSpinner(28)
Others
- Graphics(59)
- LayoutManager(50)
- Focus(44)
- Animation(42)
- Border(41)
- Graphics(61)
- LayoutManager(52)
- Focus(45)
- Border(45)
- Animation(43)
- Hyperlink Html(40)
- LookAndFeel(38)
- Drag & Drop(33)
- Font(26)
- LookAndFeel(39)
- Drag & Drop(32)
- Font(28)
- SwingWorker(22)
- File(14)
- Calendar(13)
- Cursor(9)
- TrayIcon(7)
- Clock(6)
- Sound(5)
- Others(24)
JDK 6
, JDK 7
Screenshot
ダウンロード
git clone https://github.com/aterai/java-swing-tips.git
ライセンス
このページ以下のすべてのソースコードは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 参考リンク
- 参考にしたサイトなどの一覧