このページでは、Java 6, 7Swingに新しく追加された機能に関連するTipsを一覧にしています。

Java 6

TableRowSorterでJTableのソート

TableRowSorterでJTableのソート

JDK 6で導入された、TableRowSorterを利用して、JTableの行を降順、昇順にソートします。

TableRowSorterのソートをヘッダクリックで昇順、降順、初期状態に変更

TableRowSorterのソートをヘッダクリックで昇順、降順、初期状態に変更

JDK 6で導入されたTableRowSorterのソートを、TableSorter.javaのようにヘッダクリックで昇順、降順、初期状態に切り替わるように設定します。

RowFilterでJTableの行をフィルタリング

RowFilterでJTableの行をフィルタリング

JDK 6で導入されたTableRowSorterRowFilterを設定して、行のフィルタリングを行います。

JTableのRowFilterを一旦解除してソート

JTableのRowFilterを一旦解除してソート

JTableRowFilterを一旦解除してソートし、再びフィルタを設定することで表示される行を更新します。

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で新しく導入されたGroupLayoutGridBagLayoutを比較しています。

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を追加します。

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を設定し入力の妥当性を表示する

JComboBoxComboBoxEditorJLayerを設定し、その入力が妥当でない場合はアイコンを表示します。