Swing の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing へ行く。
- Swing の差分を削除
--- 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`プログラム作成のコツなどを解説しています。 &ref(https://lh3.googleusercontent.com/_9Z4BYR88imo/TQslJy3MxYI/AAAAAAAAAts/xrxOCvbp-0A/s800/screenshots.png); #contents * Swing [#about] `Swing`は`GUI`(グラフィカル・ユーザ・インタフェース)を作成するための`Java`標準のコンポーネントセット(ライブラリ、`UI`ツールキット)です。 RIGHT:[https://docs.oracle.com/javase/tutorial/uiswing/start/about.html About the JFC and Swing (The Java™ Tutorials)] * Latest Articles [#whatsnew] - 2025-06-30 #swingdescription(Swing/TranslucentTableCellSelection,JTableのセル選択を半透明化して上書き,JTableのセル選択をJLayer側で描画してセル選択状態を半透明色で上書きとセル選択領域へのフチ設定を実行しています。,https://drive.google.com/thumbnail?id=1dhXJnmTucVK3IYYVJdtIY14URoQ4w-fL) - 2025-06-23 #swingdescription(Swing/PopupLocationRelativeToCell,JPopupMenuがキー入力で開く位置を選択セル基準に変更する,JTableやJTreeに設定したJPopupMenuがキー入力で開く場合、その表示位置が選択セル基準になるよう設定します。,https://drive.google.com/thumbnail?id=1ygP91Udeh85p7GTZ7PWNL3brntM4FSPf) - 2025-06-16 #swingdescription(Swing/ShowOrHideWithoutClickingPopupMenu,JPopupMenuをマウスクリックなしで自動的に開閉する,JButton領域内にマウスカーソルが入ったら自動的にJPopupMenuを開き、JButtonやJPopupMenu領域外にマウスカーソルが出たら自動的にそれを閉じるようイベントリスナーを設定します。,https://drive.google.com/thumbnail?id=1odXX2KrOXAp4sWUzbhLpi1bp4SxjIaaY) - 2025-06-09 #swingdescription(Swing/ResolveShortcutsLinkLocation,JTreeで表示したフォルダ構造でWindowsのlnkショートカット先に移動する,JTreeを使用して作成したフォルダ構造のTreeNodeがWindowsのlnkショートカットの場合、JFileChooserのShellFolderを利用してリンク先フォルダに移動可能にします。,https://drive.google.com/thumbnail?id=1GJkQrkphv_RF2UiMWmc-6wkSimFmnpQu) - 2025-06-02 #swingdescription(Swing/CancelFilePaneCellEditor,JFileChooserのリサイズでファイル名編集をキャンセルする,JFileChooserのFilePaneでCellEditorが表示中にJFileChooserのサイズ変更が発生した場合、そのリネームをキャンセルするComponentListenerを作成します。,https://drive.google.com/thumbnail?id=1g0K3CSMMj_MdIGjzm1Ofd3_qWPQR_Exe) - 2025-05-26 #swingdescription(Swing/CommonParentTreePath,JTreeで選択したノードの共通の親ノードを取得する,JTree内で選択した複数ノードのTreePathから最長の共通パスを検索することで共通の親TreeNodeを取得します。,https://drive.google.com/thumbnail?id=1Jdg36t-_4B0y2uF349YzS7m-N7EZVsyU) ** Update List [#changelog] - [https://ateraimemo.com/archive Archive] - [[Old Change Log>Swing/_ChangeLog]] * List of Tips [#listoftips] #twocolumn ** `javax.swing.JComponent` [#jcomponent] - [[JTable(74)>Swing/_JTable]] -- [[CellEditor CellRenderer(54)>Swing/_CellEditor]] -- [[JTableHeader TableColumn(49)>Swing/_JTableHeader]] -- [[TableRowSorter RowFilter(31)>Swing/_TableRowSorter]] -- [[JDK1.5.0(6)>Swing/_JTable1.5.0]] - [[JTree(65)>Swing/_JTree]] -- [[TreeCellEditor(11)>Swing/_TreeCellEditor]] -- [[TreeCellRenderer(13)>Swing/_TreeCellRenderer]] - [[JTextComponent(33)>Swing/_JTextComponent]] -- [[JTextField JPasswordField JFormattedTextField(48)>Swing/_JTextField]] -- [[JTextPane JEditorPane(41)>Swing/_JTextPane]] -- [[JTextArea(33)>Swing/_JTextArea]] - [[JButton AbstractButton(37)>Swing/_JButton]] -- [[JCheckBox JCheckBoxMenuItem(29)>Swing/_JCheckBox]] -- [[JRadioButton JToggleButton ButtonGroup(22)>Swing/_JRadioButton]] - [[JComboBox(82)>Swing/_JComboBox]] - [[JTabbedPane(77)>Swing/_JTabbedPane]] - [[JScrollPane JViewport JScrollBar(69)>Swing/_JScrollPane]] - [[JMenuBar JToolBar JMenu JMenuItem JSeparator(62)>Swing/_JMenuBar]] - [[JPopupMenu(56)>Swing/_JPopupMenu]] - [[JList(55)>Swing/_JList]] - [[JLayer(53)>Swing/_JLayer]] - [[JFrame JDialog JWindow(48)>Swing/_JFrame]] - [[JLabel(46)>Swing/_JLabel]] - [[JToolTip(36)>Swing/_JToolTip]] - [[JInternalFrame JLayeredPane JDesktopPane(35)>Swing/_JInternalFrame]] - [[JSlider(34)>Swing/_JSlider]] - [[JFileChooser(34)>Swing/_JFileChooser]] - [[JProgressBar ProgressMonitor(33)>Swing/_JProgressBar]] - [[JSpinner(31)>Swing/_JSpinner]] - [[JPanel(22)>Swing/_JPanel]] - [[JSplitPane(20)>Swing/_JSplitPane]] - [[JOptionPane(13)>Swing/_JOptionPane]] - [[JColorChooser(7)>Swing/_JColorChooser]] #twocolumn ** `Others` [#others] - [[Graphics(67)>Swing/_Graphics]] - [[LayoutManager(55)>Swing/_Layout]] - [[Border(46)>Swing/_Border]] - [[Focus(45)>Swing/_Focus]] - [[Animation(45)>Swing/_Animation]] - [[LookAndFeel(43)>Swing/_LookAndFeel]] - [[Hyperlink Html(40)>Swing/_Hyperlink]] - [[Drag & Drop(34)>Swing/_DnD]] - [[Font(30)>Swing/_Font]] - [[SwingWorker(22)>Swing/_SwingWorker]] - [[Calendar(15)>Swing/_Calendar]] - [[File(14)>Swing/_File]] - [[Cursor(9)>Swing/_Cursor]] - [[TrayIcon(8)>Swing/_TrayIcon]] - [[Clock(6)>Swing/_Clock]] - [[Sound(5)>Swing/_Sound]] - [[Others(24)>Swing/_Others]] ** `JDK 6`, `JDK 7` [#jdk6jdk7] - [[JDK 6, 7 での Swing 新機能(38)>Swing/_JDK6]] ** `Screenshot` [#screenshot] - [https://drive.google.com/drive/folders/1ZiLGUiAv4olCMNUvlTWhkfrTCezfC6pa?usp=sharing スクリーンショット一覧(1138)] #twocolumn * Download [#download] git clone https://github.com/aterai/java-swing-tips.git // - `Git`リポジトリを取得する場合: // git clone https://github.com/aterai/java-swing-tips.git // - `Subversion`で特定のディレクトリ以下のみ取得する場合: // # 例えばSurrogatePair以下のサンプルコードのみ取得する // svn co https://github.com/aterai/java-swing-tips/trunk/SurrogatePair * Licence [#licence] このページ以下のすべてのソースコードは[https://github.com/aterai/java-swing-tips GitHub]で、[https://github.com/aterai/java-swing-tips/blob/master/LICENSE.txt MITライセンス]のもと公開しています。 * Policy [#policy] - ''最も欲しいものはサンプル'' ([https://bn.dodgson.org/bn/2007/07/06/ あるチュートリアルの思い出 - Backnumbers: Steps to Phantasien]) -- 各ページからダブルクリックなどで実行可能な`JAR`ファイルをダウンロードが可能 - ''SSCCE'' ([http://sscce.org/ Short, Self Contained, Correct Example]) - ''MCVE'' ([https://stackoverflow.com/help/mcve How to create a Minimal, Complete, and Verifiable example - Help Center - Stack Overflow]) - [https://ja.stackoverflow.com/help/minimal-reproducible-example 最小限の・自己完結した・確認可能なサンプルコードの書き方 - ヘルプ センター - スタック・オーバーフロー] - すべての記事毎に、ソースコードや画像などのリソース、それらを[[Ant]]でコンパイル、実行するための`build.xml`をまとめた`zip`ファイルを添付 // - `JNLP`ファイルについて // -- [https://www.java.com/ja/download/help/signed_code.html ブラウザのJavaセキュリティ・メッセージの変更] // -- `7u51`から、署名が無い場合や、自己署名の場合は`JavaWebStart`で実行不可になったので、&ref(https://lh4.googleusercontent.com/_9Z4BYR88imo/TRD2KGq73BI/AAAAAAAAAwA/N8-6EXongNk/s800/webstart.png);ボタンをすべてのページから削除 * Environments [#environments] - [[動作環境、サンプルの実行方法などについて>Swing/_TestedEnvironments]] -- このサイトにあるサンプルの動作・テスト環境や`JDK`のダウンロード・利用方法、質問・不具合報告についてのお願いなど - [[Swing関係のバグについて>Swing/_Bug]] -- このサイトのサンプルの不具合ではなく`Swing`自体の不具合についてのメモ * Reference [#reference] - [[Java Swing 参考リンク>Swing/_Link]] -- 参考にしたサイトなどの一覧 * Comment [#comment] #comment - [[SPAM対策で閉鎖する前のコメントのログ>Comments/Swing]] - `forums.oracle.com`を、`community.oracle.com`に一括置換。 -- &user(aterai); &new{2014-11-25 (火) 17:57:58}; - `bugs.sun.com`を`bugs.java.com`に一括置換。 -- &user(aterai); &new{2014-11-30 (日) 17:57:58}; - `docs.oracle.com/javase/jp/8/api`を`docs.oracle.com/javase/jp/8/docs/api`に一括置換。 -- &user(aterai); &new{2015-03-09 (月) 17:57:58}; - 「`JTextArea`, `JTextPane`, `JEditorPane`」の一覧ページを、「`JTextArea`」と「`JTextPane`, `JEditorPane`」の二つに分離。 -- &user(aterai); &new{2016-04-07 (木) 17:57:58}; #comment