このページでは、Java 6, 7でSwingに新しく追加された機能に関連するTipsを一覧にしています。
- Java 6
- ↑10 ↓11
- ↑20 ↓21
- Java 7
- JLayerで指定したコンポーネントへの入力を禁止
- JLayerで子コンポーネントへの入力を制限する
- JLayerを使ってJTabbedPaneのタブの挿入位置を描画する
- JLayerを使用して無効時のコンポーネントの文字色を変更する
- StrokeBorderを使用する
- JProgressBarの文字列をJLayerを使って表示する
- SecondaryLoopを使用してイベント・ディスパッチ・スレッド上で別途イベント・ループを実行する
- ComboBoxEditorにJLayerを設定し入力の妥当性を表示する
- JTableの行フィルタリングをRowFilter.ComparisonTypeで指定した比較方法で実行する
Java 6
TableRowSorterでJTableのソート
TableRowSorterでJTableのソート
JDK 6で導入された、TableRowSorterを利用して、JTableの行を降順、昇順にソートします。
TableRowSorterのソートをヘッダクリックで昇順、降順、初期状態に変更
TableRowSorterのソートをヘッダクリックで昇順、降順、初期状態に変更
JDK 6で導入されたTableRowSorterのソートを、TableSorter.javaのようにヘッダクリックで昇順、降順、初期状態に切り替わるように設定します。
RowFilterでJTableの行をフィルタリング
RowFilterでJTableの行をフィルタリング
JDK 6で導入されたTableRowSorterにRowFilterを設定して、行のフィルタリングを行います。
JTableのRowFilterを一旦解除してソート
JTableのRowFilterを一旦解除してソート
JTableのRowFilterを一旦解除してソートし、再びフィルタを設定することで表示される行を更新します。
SwingWorkerを使った処理の中断と進捗状況表示
SwingWorkerを使った処理の中断と進捗状況表示
JDK 6で新しくなったSwingWorkerを使って、処理の中断や進捗状況の表示更新などを行います。
JTabbedPaneにタブを閉じるボタンを追加
JTabbedPaneにタブを閉じるボタンを追加
JDK 6の新機能を使用し、JTabbedPaneのタブ内に自身を閉じるためのボタンを追加します。
JTabbedPaneのタブにJTextFieldを配置してタイトルを編集
JTabbedPaneのタブにJTextFieldを配置してタイトルを編集
JTabbedPaneのタブタイトルを直接編集します。
JTabbedPaneのタイトルをクリップ
JTabbedPaneのタイトルをクリップ
JDK 6で導入されたタブにコンポーネントを追加する機能を使って、長いタイトルのタブは文字列をクリップして表示します。
JTable自体の高さを拡張
JTable自体の高さを拡張
JDK 6で導入された機能を使用して、JViewportの高さまでJTableを拡張します。
ButtonGroup内のJRadioButtonなどの選択をクリア
ButtonGroup内のJRadioButtonなどの選択をクリア
JDK 6で追加された機能を使用して、ButtonGroup内の選択をクリアします。
↑10 ↓11
SystemTrayにアイコンを表示
SystemTrayにアイコンを表示
JDK 6で追加された機能を使って、SystemTrayにアイコンを表示します。
TrayIconのアニメーション
TrayIconのアニメーション
SystemTrayに追加したトレイアイコンをアニメーションさせます。
TrayIconのダブルクリック
TrayIconのダブルクリック
TrayIconをダブルクリックした場合フレームを表示、シングルクリックした場合はフレームを前面に表示します。
Desktopでブラウザを起動
Desktopでブラウザを起動
JDK 6で導入されたDesktopを使ってブラウザを起動します。
GroupLayoutの使用
GroupLayoutの使用
JDK 6で新しく導入されたGroupLayoutとGridBagLayoutを比較しています。
TableRowSorterのSortKeysをクリアする
TableRowSorterのSortKeysをクリアする
JDK 6で導入されたTableRowSorterでの行ソートを、テーブルヘッダの「Shift+クリック」でクリアします。
JTabbedPaneのCloseButtonをフォーカスがある場合だけ表示
JTabbedPaneのCloseButtonをフォーカスがある場合だけ表示
JTabbedPaneのタブを閉じるボタンを、タブにフォーカスがある場合だけ表示します。
JTabbedPaneのタブにJProgressBarを表示
JTabbedPaneのタブにJProgressBarを表示
JTabbedPaneのタブにJProgressBarを配置して、進捗を表示します。
JTableをソートした後の選択状態
JTableをソートした後の選択状態
JDK 1.6で導入されたRowSorterを使って、JTableをソートした場合、直前の選択状態がどう変化するかテストします。
JTableのソートアイコンを変更
JTableのソートアイコンを変更
JTableのソートアイコンを非表示にしたり、別の画像に変更します。
↑20 ↓21
JTableのRowSorterをフィルタありソート不可にする
JTableのRowSorterをフィルタありソート不可にする
フィルタありでソート不可のTableRowSorterを作成します。
TransferHandlerを使ったJListのドラッグ&ドロップによる並べ替え
TransferHandlerを使ったJListのドラッグ&ドロップによる並べ替え
JListのアイテムを複数選択し、ドラッグ&ドロップで並べ替えを可能にするTransferHandlerを作成します。
JListのアイテムをラバーバンドで複数選択、ドラッグ&ドロップで並べ替え
JListのアイテムをラバーバンドで複数選択、ドラッグ&ドロップで並べ替え
JListのアイテムを、ラバーバンドで複数選択、ドラッグ&ドロップで並べ替え可能にします。
JTableの列固定とソート
JTableの列固定とソート
列固定したJTableで、JDK 6で導入されたTableRowSorterを使った行ソートを行います。
JTabbedPane間でタブのドラッグ&ドロップ移動
JTabbedPane間でタブのドラッグ&ドロップ移動
JTabbedPane間でタブのDrag&Dropによる移動を行います。
ButtonGroup中にある選択状態のJToggleButtonをクリックして選択解除可能にする
ButtonGroup中にある選択状態のJToggleButtonをクリックして選択解除可能にする
ButtonGroup中にある選択状態のJToggleButtonをもう一度クリックすることで、その選択を解除できるように設定します。
JTabbedPaneのタブにJCheckBoxを追加
JTabbedPaneのタブにJCheckBoxを追加
JTabbedPaneのタブ内にクリック可能なJCheckBoxを追加します。
Fontにトラッキングを設定して文字列幅を詰めて描画する
Fontにトラッキングを設定して文字列幅を詰めて描画する
Fontに負のトラッキング値(字送り、文字間)を設定して文字列幅を縮小して描画します。
Iconを指定した数の四分円だけ回転して表示する
Iconを指定した数の四分円だけ回転して表示する
Iconを指定した数の四分円(90度)だけ回転してJLabelに配置します。
Java 7
JLayerで指定したコンポーネントへの入力を禁止
JLayerで指定したコンポーネントへの入力を禁止
JDK 7で導入されたJLayerを利用して指定したコンポーネントへの入力を禁止します。
JLayerで子コンポーネントへの入力を制限する
JLayerで子コンポーネントへの入力を制限する
JLayerを使って、子コンポーネントへのすべての入力を制限します。
JLayerを使ってJTabbedPaneのタブの挿入位置を描画する
JLayerを使ってJTabbedPaneのタブの挿入位置を描画する
JLayerを使って、タブのドラッグ&ドロップでの移動先をJTabbedPane上に描画します。
JLayerを使用して無効時のコンポーネントの文字色を変更する
JLayerを使用して無効時のコンポーネントの文字色を変更する
JLayerを使用して、JButtonなどのコンポーネントを無効にしたときの文字色を変更します。
StrokeBorderを使用する
StrokeBorderを使用する
Java 1.7.0で導入されたStrokeBorderをテストします。
JProgressBarの文字列をJLayerを使って表示する
JProgressBarの文字列をJLayerを使って表示する
垂直JProgressBarの文字列をJLayerを使って横組で表示します。
SecondaryLoopを使用してイベント・ディスパッチ・スレッド上で別途イベント・ループを実行する
SecondaryLoopを使用してイベント・ディスパッチ・スレッド上で別途イベント・ループを実行する
SecondaryLoopを使用して、イベント・ディスパッチ・スレッドをブロックせずに、別スレッドをイベント・ループを実行します。
ComboBoxEditorにJLayerを設定し入力の妥当性を表示する
ComboBoxEditorにJLayerを設定し入力の妥当性を表示する
JComboBoxのComboBoxEditorにJLayerを設定し、その入力が妥当でない場合はアイコンを表示します。
JTableの行フィルタリングをRowFilter.ComparisonTypeで指定した比較方法で実行する
JTableの行フィルタリングをRowFilter.ComparisonTypeで指定した比較方法で実行する
JTableの行フィルタリングをRowFilter.ComparisonTypeで指定した不等号、等号比較で実行するよう設定します。































