• 追加された行はこの色です。
  • 削除された行はこの色です。
---
title: Java Swing Tips
keywords: [Java, Swing, SSCCE, MCVE]
hreflang:
    href: http://java-swing-tips.blogspot.com/
    lang: en
description: ソースコード付きの小さな Java Swing アプリケーションを例にして、GUI プログラム作成のコツなどを解説
author: aterai
pubdate: 2003-09-25
---
このページ以下では、ソースコード付きの小さな`Java Swing`アプリケーションを例にして、`GUI`プログラム作成のコツなどを解説しています。

[https://picasaweb.google.com/at.terai/JavaSwingTips02 &ref(https://lh3.googleusercontent.com/_9Z4BYR88imo/TQslJy3MxYI/AAAAAAAAAts/xrxOCvbp-0A/s800/screenshots.png);]

//- 上記の画像をクリックすると画像一覧(`Picasa`)に移動します。
//-- 以前の[[スクリーンショット一覧>Swing/_ScreenShots]]は、スライドショーに変更しました。

#contents

* Swingとは [#p0b76fde]
`Swing`は、`GUI`(グラフィカル・ユーザ・インタフェース)を作成するための、`Java`標準のコンポーネントセット(ライブラリ、`UI`ツールキット)です。

RIGHT:[http://docs.oracle.com/javase/tutorial/uiswing/start/about.html About the JFC and Swing (The Java™ Tutorials)]

* 新着記事 [#u85d24d8]
- 2015-06-08
#swingdescription(Swing/AutoRepeatTimer,JButtonがマウスで押されている間、アクションを繰り返すTimerを設定する,JButtonがマウスで押されている間は指定したアクションを繰り返し実行するTimerを設定します。,https://lh3.googleusercontent.com/-zp2-TOEE4JE/VXRXk25rFUI/AAAAAAAAN6I/_Kn4GsC9a1g/s144/AutoRepeatTimer.png)

- 2015-06-01
#swingdescription(Swing/NonDetachableToolBar,JToolBarをドラッグによる移動は可能だが分離は不可に設定する,JToolBarをドラッグで同コンテナ内で移動することは可能だが、別ウインドウへの分離は不可になるよう設定します。,https://lh3.googleusercontent.com/-YGC3PvuL8Vg/VWsjz3ObkoI/AAAAAAAAN5w/_XAG0E-FOpM/s144/NonDetachableToolBar.png)

- 2015-05-25
#swingdescription(Swing/TableCellTransferHandler,JTableのセルを選択してJListにドラッグ&ドロップでIconをコピーする,JTableのセルを選択可能にし、ドラッグ&ドロップでそのセル内のIconをJListにコピーできるようにTransferHandlerを設定します。,https://lh3.googleusercontent.com/-TUrxk7yYqYM/VWHkR1mENvI/AAAAAAAAN4w/bEU29WIgjOE/s144/TableCellTransferHandler.png)

- 2015-05-18
#swingdescription(Swing/PrototypeDisplayValue,JComboBoxのセルサイズを決定するためのプロトタイプ値を設定する,JComboBoxがそのセルサイズを決定するために使用するプロトタイプ値を設定します。,https://lh3.googleusercontent.com/-DafUFitik9w/VVidadY7TNI/AAAAAAAAN4U/D40YKz8mMUY/s144/PrototypeDisplayValue.png)

- 2015-05-11
#swingdescription(Swing/SameSizeButtons,JOptionPaneで使用するボタンのサイズを揃える,NimbusLookAndFeelでJOptionPaneを使用した場合、そのJButtonのサイズを揃えるかどうかを設定します。,https://lh3.googleusercontent.com/-vidT_rr0mcE/VU97kF6HGpI/AAAAAAAAN4A/ByrWGh41AQg/s144/SameSizeButtons.png)

* Tips一覧 [#e739db5d]
#twocolumn
** `javax.swing.JComponent` [#j7ba4ac7]
- [[JTable(38)>Swing/_JTable]]
-- [[CellEditor CellRenderer(34)>Swing/_CellEditor]]
-- [[JTableHeader TableColumn(23)>Swing/_JTableHeader]]
-- [[TableRowSorter RowFilter(19)>Swing/_TableRowSorter]]
-- [[JDK1.5.0(6)>Swing/_JTable1.5.0]]
- [[JTextPane JEditorPane JTextArea(53)>Swing/_JTextPane]]
- [[JButton JCheckBox JToggleButton JRadioButton(46)>Swing/_JButton]]
- [[JButton JCheckBox JToggleButton JRadioButton(47)>Swing/_JButton]]
- [[JTree(44)>Swing/_JTree]]
- [[JComboBox(38)>Swing/_JComboBox]]
- [[JTabbedPane(36)>Swing/_JTabbedPane]]
- [[JFrame JDialog JWindow(33)>Swing/_JFrame]]
- [[JScrollPane JViewport JScrollBar(26)>Swing/_JScrollPane]]
- [[JTextField JPasswordField(26)>Swing/_JTextField]]
- [[JProgressBar ProgressMonitor(25)>Swing/_JProgressBar]]
- [[JMenuBar JToolBar JSeparator(24)>Swing/_JMenuBar]]
- [[JList(22)>Swing/_JList]]
- [[JPopupMenu(21)>Swing/_JPopupMenu]]
- [[JLabel(21)>Swing/_JLabel]]
- [[JPanel JSplitPane(20)>Swing/_JPanel]]
- [[JSpinner(18)>Swing/_JSpinner]]
- [[JToolTip(16)>Swing/_JToolTip]]
- [[JInternalFrame JLayeredPane JDesktopPane(17)>Swing/_JInternalFrame]]
- [[JSlider(14)>Swing/_JSlider]]
- [[JLayer(14)>Swing/_JLayer]]
- [[JFileChooser JOptionPane(14)>Swing/_JFileChooser]]

#twocolumn

** `Others` [#hef7f318]
- [[Graphics(35)>Swing/_Graphics]]
- [[Animation(30)>Swing/_Animation]]
- [[LayoutManager(28)>Swing/_Layout]]
- [[Drag&Drop(26)>Swing/_DnD]]
- [[Hyperlink Html(22)>Swing/_Hyperlink]]
- [[SwingWorker(21)>Swing/_SwingWorker]]
- [[Font(17)>Swing/_Font]]
- [[Focus(17)>Swing/_Focus]]
- [[LookAndFeel(17)>Swing/_LookAndFeel]]
- [[Border(16)>Swing/_Border]]
- [[File(10)>Swing/_File]]
- [[Cursor(7)>Swing/_Cursor]]
- [[TrayIcon(6)>Swing/_TrayIcon]]
- [[Sound(4)>Swing/_Sound]]
- [[Others(18)>Swing/_Others]]

** `JDK 6`, `JDK 7` [#fd388b18]
- [[JDK 6, 7 での Swing 新機能(31)>Swing/_JDK6]]

** `Screenshot` [#b76d5b88]
- [[スクリーンショット一覧(585)>Swing/_ScreenShots]]
- [[スクリーンショット一覧(586)>Swing/_ScreenShots]]

#twocolumn

* 編集方針 [#ja35f484]
- ''最も欲しいものはサンプルである'' ([http://steps.dodgson.org/bn/2007/07/06/ あるチュートリアルの思い出 - Backnumbers: Steps to Phantasien])
-- 各ページからダブルクリックなどで実行可能な`JAR`ファイルがダウンロードできます。
- ''SSCCE'' ([http://sscce.org/ Short, Self Contained, Correct Example])
- ''MCVE'' ([http://stackoverflow.com/help/mcve How to create a Minimal, Complete, and Verifiable example - Help Center - Stack Overflow])
-- すべての記事毎に、ソースコードや画像などのリソース、それらを[[Ant]]でコンパイル、実行するための`build.xml`をまとめた`zip`ファイルを添付しています。
-- `Git`リポジトリを取得する場合: 
 git clone https://github.com/aterai/java-swing-tips.git
- `JNLP`ファイルについて
-- [http://www.java.com/ja/download/faq/signed_code.xml ブラウザのJavaセキュリティ・メッセージの変更]
-- `7u51`から、署名が無い場合や、自己署名の場合は`JavaWebStart`で実行不可になったので、&ref(https://lh4.googleusercontent.com/_9Z4BYR88imo/TRD2KGq73BI/AAAAAAAAAwA/N8-6EXongNk/s800/webstart.png);ボタンをすべてのページから削除
--- `JavaWebStart`の記事も修正、または削除する予定

* 更新履歴 [#kde2d7e6]
- [http://ateraimemo.com/archive.html Archive]
- [[以前の更新履歴>Swing/_ChangeLog]]

* 動作環境 [#dcae6b30]
このサイトにあるサンプルの、動作・テスト環境や、`JDK`のダウンロード、利用方法、質問、不具合報告についてお願いなどを記述しています。
- [[動作環境、サンプルの実行方法などについて>Swing/_TestedEnvironments]]

* 参考リンク [#v0bd3645]
参考にしたサイトなどのリンクをまとめています。
- [[Java Swing 参考リンク>Swing/_Link]]

* コメント [#w04556af]
#comment
- [[SPAM対策で閉鎖する前のコメントのログ>Comments/Swing]]

#comment