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

Java 6

TableRowSorterでJTableのソート

thumbnail
TableRowSorterでJTableのソート

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

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

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

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

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

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

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

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

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

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

SwingWorkerを使った処理の中断と進捗状況表示

thumbnail
SwingWorkerを使った処理の中断と進捗状況表示

JDK 6で新しくなったSwingWorkerを使って、処理の中断や進捗状況の表示更新などを行います。

JTabbedPaneにタブを閉じるボタンを追加

thumbnail
JTabbedPaneにタブを閉じるボタンを追加

JDK 6の新機能を使用し、JTabbedPaneのタブ内に自身を閉じるためのボタンを追加します。

JTabbedPaneのタブにJTextFieldを配置してタイトルを編集

thumbnail
JTabbedPaneのタブにJTextFieldを配置してタイトルを編集

JTabbedPaneのタブタイトルを直接編集します。

JTabbedPaneのタイトルをクリップ

thumbnail
JTabbedPaneのタイトルをクリップ

JDK 6で導入されたタブにコンポーネントを追加する機能を使って、長いタイトルのタブは文字列をクリップして表示します。

JTable自体の高さを拡張

thumbnail
JTable自体の高さを拡張

JDK 6で導入された機能を使用して、JViewportの高さまでJTableを拡張します。

ButtonGroup内のJRadioButtonなどの選択をクリア

thumbnail
ButtonGroup内のJRadioButtonなどの選択をクリア

JDK 6で追加された機能を使用して、ButtonGroup内の選択をクリアします。

↑10 ↓11

SystemTrayにアイコンを表示

thumbnail
SystemTrayにアイコンを表示

JDK 6で追加された機能を使って、SystemTrayにアイコンを表示します。

TrayIconのアニメーション

thumbnail
TrayIconのアニメーション

SystemTrayに追加したトレイアイコンをアニメーションさせます。

TrayIconのダブルクリック

thumbnail
TrayIconのダブルクリック

TrayIconをダブルクリックした場合フレームを表示、シングルクリックした場合はフレームを前面に表示します。

Desktopでブラウザを起動

thumbnail
Desktopでブラウザを起動

JDK 6で導入されたDesktopを使ってブラウザを起動します。

GroupLayoutの使用

thumbnail
GroupLayoutの使用

JDK 6で新しく導入されたGroupLayoutGridBagLayoutを比較しています。

TableRowSorterのSortKeysをクリアする

thumbnail
TableRowSorterのSortKeysをクリアする

JDK 6で導入されたTableRowSorterでの行ソートを、テーブルヘッダの「Shift+クリック」でクリアします。

JTabbedPaneのCloseButtonをフォーカスがある場合だけ表示

thumbnail
JTabbedPaneのCloseButtonをフォーカスがある場合だけ表示

JTabbedPaneのタブを閉じるボタンを、タブにフォーカスがある場合だけ表示します。

JTabbedPaneのタブにJProgressBarを表示

thumbnail
JTabbedPaneのタブにJProgressBarを表示

JTabbedPaneのタブにJProgressBarを配置して、進捗を表示します。

JTableをソートした後の選択状態

thumbnail
JTableをソートした後の選択状態

JDK 1.6で導入されたRowSorterを使って、JTableをソートした場合、直前の選択状態がどう変化するかテストします。

JTableのソートアイコンを変更

thumbnail
JTableのソートアイコンを変更

JTableのソートアイコンを非表示にしたり、別の画像に変更します。

↑20 ↓21

JTableのRowSorterをフィルタありソート不可にする

thumbnail
JTableのRowSorterをフィルタありソート不可にする

フィルタありでソート不可のTableRowSorterを作成します。

TransferHandlerを使ったJListのドラッグ&ドロップによる並べ替え

thumbnail
TransferHandlerを使ったJListのドラッグ&ドロップによる並べ替え

JListのアイテムを複数選択し、ドラッグ&ドロップで並べ替えを可能にするTransferHandlerを作成します。

JListのアイテムをラバーバンドで複数選択、ドラッグ&ドロップで並べ替え

thumbnail
JListのアイテムをラバーバンドで複数選択、ドラッグ&ドロップで並べ替え

JListのアイテムを、ラバーバンドで複数選択、ドラッグ&ドロップで並べ替え可能にします。

JTableの列固定とソート

thumbnail
JTableの列固定とソート

列固定したJTableで、JDK 6で導入されたTableRowSorterを使った行ソートを行います。

JTabbedPane間でタブのドラッグ&ドロップ移動

thumbnail
JTabbedPane間でタブのドラッグ&ドロップ移動

JTabbedPane間でタブのDrag&Dropによる移動を行います。

ButtonGroup中にある選択状態のJToggleButtonをクリックして選択解除可能にする

thumbnail
ButtonGroup中にある選択状態のJToggleButtonをクリックして選択解除可能にする

ButtonGroup中にある選択状態のJToggleButtonをもう一度クリックすることで、その選択を解除できるように設定します。

JTabbedPaneのタブにJCheckBoxを追加

thumbnail
JTabbedPaneのタブにJCheckBoxを追加

JTabbedPaneのタブ内にクリック可能なJCheckBoxを追加します。

Fontにトラッキングを設定して文字列幅を詰めて描画する

thumbnail
Fontにトラッキングを設定して文字列幅を詰めて描画する

Fontに負のトラッキング値(字送り、文字間)を設定して文字列幅を縮小して描画します。

Iconを指定した数の四分円だけ回転して表示する

thumbnail
Iconを指定した数の四分円だけ回転して表示する

Iconを指定した数の四分円(90)だけ回転してJLabelに配置します。

Java 7

JLayerで指定したコンポーネントへの入力を禁止

thumbnail
JLayerで指定したコンポーネントへの入力を禁止

JDK 7で導入されたJLayerを利用して指定したコンポーネントへの入力を禁止します。

JLayerで子コンポーネントへの入力を制限する

thumbnail
JLayerで子コンポーネントへの入力を制限する

JLayerを使って、子コンポーネントへのすべての入力を制限します。

JLayerを使ってJTabbedPaneのタブの挿入位置を描画する

thumbnail
JLayerを使ってJTabbedPaneのタブの挿入位置を描画する

JLayerを使って、タブのドラッグ&ドロップでの移動先をJTabbedPane上に描画します。

JLayerを使用して無効時のコンポーネントの文字色を変更する

thumbnail
JLayerを使用して無効時のコンポーネントの文字色を変更する

JLayerを使用して、JButtonなどのコンポーネントを無効にしたときの文字色を変更します。

StrokeBorderを使用する

thumbnail
StrokeBorderを使用する

Java 1.7.0で導入されたStrokeBorderをテストします。

JProgressBarの文字列をJLayerを使って表示する

thumbnail
JProgressBarの文字列をJLayerを使って表示する

垂直JProgressBarの文字列をJLayerを使って横組で表示します。

SecondaryLoopを使用してイベント・ディスパッチ・スレッド上で別途イベント・ループを実行する

thumbnail
SecondaryLoopを使用してイベント・ディスパッチ・スレッド上で別途イベント・ループを実行する

SecondaryLoopを使用して、イベント・ディスパッチ・スレッドをブロックせずに、別スレッドをイベント・ループを実行します。

ComboBoxEditorにJLayerを設定し入力の妥当性を表示する

thumbnail
ComboBoxEditorにJLayerを設定し入力の妥当性を表示する

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