JTable
このページでは、JTable
の使い方を集めて一覧にしています。
JTableHeader
、TableColumn
などは、JTableHeader, TableColumnに移動TableCellEditor
、TableCellRenderer
などは、CellEditor, CellRendererに移動TableRowSorter
、RowFilter
などは、TableRowSorter, RowFilterに移動
- JTable
- ↑10 ↓11
- ↑20 ↓21
- ↑30 ↓31
- JTableで先頭文字のキー入力による検索を行う
- JSplitPaneに2つのJTableを配置してスクロールを同期する
- JTableのセルに複数配置したコンポーネントのJToolTip
- JTableのモデルが変更されたことをイベントで受け取る
- JInternalFrame間でのドラッグ&ドロップによるJTableの行入れ替え
- JTableのHTML形式コピーをカスタマイズする
- JTableのモデルをXMLファイルで保存、復元する
- JTableのセルを選択してJListにドラッグ&ドロップでIconをコピーする
- JTableのセルを編集開始したときにセルエディタがフォーカスを取得するよう設定する
- JTableの行高がJViewportの高さに合うまで調整する
- ↑40 ↓41
- JScrollBarをJTable上に重ねて表示するJScrollPaneを作成する
- JTableをスクロールバー無しのドラッグでスクロールする
- JTableにLocaleを考慮したLocalDateを適用してカレンダーを表示する
- JTableのセル選択をテストする
- JComboBoxのドロップダウンリストとしてJTableを使用する
- JTableの本体、ヘッダ、親JScrollPaneなどにBorderを設定する
- JScrollPaneの行ヘッダを右側に変更する
- JFileChooserの詳細表示でファイル名が編集中の場合はそれをキャンセルする
- JTableに指定したディレクトリへのファイル追加、削除などを表示する
- JTableで選択されているすべてのセルを取得する
- ↑50 ↓51
- JTableの幅が一定以下で水平スクロールバー、以上で列幅を自動拡張するよう設定
- SwingWorkerを一スレッドずつ順番に実行する
- JTableのドラッグスクロールをタッチスクリーンで実行する
- TransferHandlerを使用したドラッグ&ドロップで挿入先を表示するドロップラインの色を変更する
- JTableで作成したカレンダーの日付を囲み数字にする
- JTableのヘッダやセル罫線の色を統一して罫線の幅が変化しないよう設定する
- JTableの行の高さをマウスドラッグで変更する
- JTableの水平JScrollBarをリサイズ可能にするためJSplitPaneに再配置する
- JScrollBarの下にスクロールロックボタンを配置する
- JTableを配置したJScrollPaneの右上コーナー区画に配置されるコンポーネントを取得する
- ↑60 ↓61
- JTableが配置されたJScrollPaneのBorderを変更する
- JScrollPaneにJTableを配置して連続月間カレンダーを作成する
- JTableのセル内に配置したJCheckBoxをクリックして行の高さの展開・折り畳みを実行する
- JTableの水平罫線を描画する位置とその色をソート条件に応じて変更する
- JTableのグリッド線描画をUIDefaultsから復元する
- JTableの行を右クリックで選択して同時にJPopupMenuを開く
- JTableの表示倍率を変更する
- JTableの行選択背景描画をラウンド矩形に変更する
- JTableのセルに行選択チェックボックスを追加する
- JTableのセル選択背景描画をラウンド矩形に変更する
JTable
JTableの行をドラッグ&ドロップ
JTableの行をドラッグ&ドロップ
JTable
の行を選択し、その順序をドラッグ&ドロップで入れ替えます。
TransferHandlerを使ってJTableの行をドラッグ&ドロップ、並べ替え
TransferHandlerを使ってJTableの行をドラッグ&ドロップ、並べ替え
JTable
の行を複数選択し、ドラッグ&ドロップで並べ替えを可能にするTransferHandler
を作成します。
JTableの行を別のJTableにドラッグして移動
JTableの行を別のJTableにドラッグして移動
JTable
の行を別のJTable
にドラッグ&ドロップで移動します。
JTableのセルの編集をコミット
JTableのセルの編集をコミット
セルの編集中、フォーカスが別のコンポーネントに移動した場合、その編集を確定する方法をテストします。
JTable自体の高さを拡張
JTable自体の高さを拡張
JDK 6
で導入された機能を使用して、JViewport
の高さまでJTable
を拡張します。
JTableのセルを編集不可にする
JTableのセルを編集不可にする
JTable
のすべてのセルを編集不可にする方法をテストします。
JTableでキー入力によるセル編集開始を禁止する
JTableでキー入力によるセル編集開始を禁止する
キー入力やマウスクリックによるJTable
のセル編集開始を禁止します。
JTableで行を選択
JTableで行を選択
JTable
で、行を選択した場合の動作をテストします。
JTableの行を追加、削除
JTableの行を追加、削除
JTable
への行追加と、選択行の削除をJPopupMenu
から実行します。
JTableで行の追加、削除アニメーション
JTableで行の追加、削除アニメーション
JTable
の行追加や削除をスライドアニメーションで強調します。
↑10 ↓11
JTableのセルをエクスプローラ風に表示する
JTableのセルをエクスプローラ風に表示する
セルの中にアイコンと文字列を配置し、エクスプローラ風に見えるよう、文字列だけにフォーカスをかけます。
JTableで文字列をクリックした場合だけセルを選択状態にする
JTableで文字列をクリックした場合だけセルを選択状態にする
JTable
の文字列以外の場所がクリックされた場合、そのセルが選択されないようにします。
JTableの選択状態を変更
JTableの選択状態を変更
JTable
の選択状態をchangeSelection
メソッドを使って変更します。
JTableのフォーカスを一行全体に適用する
JTableのフォーカスを一行全体に適用する
JTable
のフォーカスをセルではなく、一行全体に掛かっているように表示します。
JTableの次行にTabキーでフォーカスを移動
JTableの次行にTabキーでフォーカスを移動
Tab
キーでセルのフォーカスが次行に移動するように設定します。
JTableの行を全削除
JTableの行を全削除
JTable
のモデルから、カラムヘッダの状態は変更せず、すべての行を一括で削除します。
JTableのTooltipsを行ごとに変更
JTableのTooltipsを行ごとに変更
JTable
のTooltips
が、カーソルのある行の内容などを表示するように設定します。
JTableの背景色を変更
JTableの背景色を変更
JTable
を追加したJViewport
がセルで隠れていない部分の色を変更します。
JTableの行の高さを変更する
JTableの行の高さを変更する
JTable
の行の高さを変更して、マウスカーソルの下を魚眼レンズのように拡大します。
JTableを別コンポーネントから操作
JTableを別コンポーネントから操作
JTable
の全選択や選択された行のコピーをJButton
などの別コンポーネントから行います。
↑20 ↓21
JTableのセル文字揃え
JTableのセル文字揃え
JTable
のセルに表示されている文字列の揃えを変更します。
JTableのセルをダブルクリック
JTableのセルをダブルクリック
JTable
のセルをダブルクリックして内容を表示します。
TableCellRendererでセルの背景色を変更
TableCellRendererでセルの背景色を変更
TableCellRenderer
を継承するレンダラーを作ってテーブルのセルを修飾します。
JTableのセル編集を文字入力変換中からでも可能にする
JTableのセル編集を文字入力変換中からでも可能にする
IME
が直接入力以外で、一時ウィンドウが表示されていても、入力確定でセル編集を開始します。
JTableを半透明にする
JTableを半透明にする
JTable
自体をsetOpaque(false)
で透明に、またセル描画に使用されるJTable
の背景色を半透明にするなどの設定で、半透明のJTable
を作成します。
JTableが空の場合、中央にJComponentを表示する
JTableが空の場合、中央にJComponentを表示する
JTable
が空の場合、表領域の中央に任意のJComponent
が表示されるように設定します。
JTableでキー入力によるセル編集自動開始を一部禁止する
JTableでキー入力によるセル編集自動開始を一部禁止する
JTable
のセル編集自動開始をファンクションキーの場合だけ無効にします。
JTableのセルにJRadioButton
JTableのセルにJRadioButton
JTable
のセルにJRadioButton
を配置し、全体で一つだけ選択できるように設定します。
JTableの罫線の有無とセルの内余白を変更
JTableの罫線の有無とセルの内余白を変更
JTable
の罫線の表示非表示とセルの内余白を変更します。
JTableのセルにAnimated GIFを表示する
JTableのセルにAnimated GIFを表示する
ImageIcon
にImageObserver
を設定して、JTable
のセル中でAnimated GIF
のアニメーションを行います。
↑30 ↓31
JTableで先頭文字のキー入力による検索を行う
JTableで先頭文字のキー入力による検索を行う
JTable
にフォーカスがある状態でキー入力をした場合、先頭文字が一致する行を検索して選択状態にします。
JSplitPaneに2つのJTableを配置してスクロールを同期する
JSplitPaneに2つのJTableを配置してスクロールを同期する
JSplitPane
の左右に、JTable
をそれぞれ配置し、スクロールや追加などが同期するようにモデルを共有します。
JTableのセルに複数配置したコンポーネントのJToolTip
JTableのセルに複数配置したコンポーネントのJToolTip
JTable
のセル中に複数個配置したコンポーネントにそれぞれJToolTip
が表示されるように設定します。
JTableのモデルが変更されたことをイベントで受け取る
JTableのモデルが変更されたことをイベントで受け取る
JTable
のモデルの変更を受け取ってJTableHeader
に追加したJCheckBox
を更新します。
JInternalFrame間でのドラッグ&ドロップによるJTableの行入れ替え
JInternalFrame間でのドラッグ&ドロップによるJTableの行入れ替え
JInternalFrame
間でJTable
の行をドラッグ&ドロップを使って入れ替えます。
JTableのHTML形式コピーをカスタマイズする
JTableのHTML形式コピーをカスタマイズする
JTable
のセルを選択してクリップボードにHTML
テキストをコピーするとき、そのセルのクラスに応じて生成するタグを変更します。
JTableのモデルをXMLファイルで保存、復元する
JTableのモデルをXMLファイルで保存、復元する
JTable
のモデルをXMLEncoder
とXMLDecoder
を使って、XML
ファイルで保存、復元します。
JTableのセルを選択してJListにドラッグ&ドロップでIconをコピーする
JTableのセルを選択してJListにドラッグ&ドロップでIconをコピーする
JTable
のセルを選択可能にし、ドラッグ&ドロップでそのセル内のIcon
をJList
にコピーできるようにTransferHandler
を設定します。
JTableのセルを編集開始したときにセルエディタがフォーカスを取得するよう設定する
JTableのセルを編集開始したときにセルエディタがフォーカスを取得するよう設定する
JTable
のセルを編集開始したときに、セルエディタがフォーカスを取得するかどうかを設定で切り替えます。
JTableの行高がJViewportの高さに合うまで調整する
JTableの行高がJViewportの高さに合うまで調整する
JTable
の各行の高さ変更することで行数などに変更があっても、JViewport
に余白が発生しないように調整します。
↑40 ↓41
JScrollBarをJTable上に重ねて表示するJScrollPaneを作成する
JScrollBarをJTable上に重ねて表示するJScrollPaneを作成する
半透明のJScrollBar
をJTable
上に重ねてレイアウトするJScrollPane
を作成します。
JTableをスクロールバー無しのドラッグでスクロールする
JTableをスクロールバー無しのドラッグでスクロールする
JTable
をスクロールバーではなく、内部の行をマウスでドラッグすることでスクロール可能になるよう設定します。
JTableにLocaleを考慮したLocalDateを適用してカレンダーを表示する
JTableにLocaleを考慮したLocalDateを適用してカレンダーを表示する
JTable
に週の最初の曜日がLocale
に応じて変化するカレンダーを表示します。
JTableのセル選択をテストする
JTableのセル選択をテストする
JTable
の行と列のSelectionModel
にListSelectionListener
を追加し、選択されたセルの情報を書き出すテストを行っています。
JComboBoxのドロップダウンリストとしてJTableを使用する
JComboBoxのドロップダウンリストとしてJTableを使用する
JComboBox
のドロップダウンリストとしてJList
の代わりにJTable
を使用します。
JTableの本体、ヘッダ、親JScrollPaneなどにBorderを設定する
JTableの本体、ヘッダ、親JScrollPaneなどにBorderを設定する
JTable
やその内部のJTableHeader
、親のJScrollPane
やJViewport
にそれぞれ異なるBorder
を設定するテストを行います。
JScrollPaneの行ヘッダを右側に変更する
JScrollPaneの行ヘッダを右側に変更する
JScrollPane
のレイアウトマネージャを使用して、行ヘッダをデフォルトの左側から右側に変更します。
JFileChooserの詳細表示でファイル名が編集中の場合はそれをキャンセルする
JFileChooserの詳細表示でファイル名が編集中の場合はそれをキャンセルする
JFileChooser
を詳細表示モードで表示したとき、前回のファイル名編集が継続中の場合はそれをキャンセルします。
JTableに指定したディレクトリへのファイル追加、削除などを表示する
JTableに指定したディレクトリへのファイル追加、削除などを表示する
WatchService
を使用してディレクトリの変更を監視し、ファイルの追加削除をJTable
に表示します。
JTableで選択されているすべてのセルを取得する
JTableで選択されているすべてのセルを取得する
JTable
で選択されているすべてのセルを取得し、その値を一括で変更します。
↑50 ↓51
JTableの幅が一定以下で水平スクロールバー、以上で列幅を自動拡張するよう設定
JTableの幅が一定以下で水平スクロールバー、以上で列幅を自動拡張するよう設定
JTable
の幅が一定以下の場合は列幅を維持して水平スクロールバーを表示し、それ以上になる場合は列幅の自動調整を実行してJTable
の幅まで拡張するよう設定します。
SwingWorkerを一スレッドずつ順番に実行する
SwingWorkerを一スレッドずつ順番に実行する
JTable
のセルに配置したJProgressBar
を操作するSwingWorker
タスクを一つずつ順番に実行します。
JTableのドラッグスクロールをタッチスクリーンで実行する
JTableのドラッグスクロールをタッチスクリーンで実行する
JTable
のドラッグスクロールをタッチスクリーンで実行可能にするためのリスナーを作成します。
TransferHandlerを使用したドラッグ&ドロップで挿入先を表示するドロップラインの色を変更する
TransferHandlerを使用したドラッグ&ドロップで挿入先を表示するドロップラインの色を変更する
JList
、JTable
、JTree
のTransferHandler
を使用したドラッグ&ドロップで挿入先を表示するドロップラインの色を変更します。
JTableで作成したカレンダーの日付を囲み数字にする
JTableで作成したカレンダーの日付を囲み数字にする
JTable
で作成したカレンダーの日付が休日の場合はJLabel
で作成した囲み数字に変更します。
JTableのヘッダやセル罫線の色を統一して罫線の幅が変化しないよう設定する
JTableのヘッダやセル罫線の色を統一して罫線の幅が変化しないよう設定する
JTable
のヘッダ背景色、セル罫線、セルエディタ罫線の色を統一して、セルが編集状態になっても全体の罫線の幅が変化しないよう設定します。
JTableの行の高さをマウスドラッグで変更する
JTableの行の高さをマウスドラッグで変更する
JLayer
を使用してJTable
の行の高さをマウスでドラッグして変更可能にします。
JTableの水平JScrollBarをリサイズ可能にするためJSplitPaneに再配置する
JTableの水平JScrollBarをリサイズ可能にするためJSplitPaneに再配置する
JTable
を配置したJScrollPane
から水平JScrollBar
を取り出し、JSplitPane
に再配置してリサイズ可能にします。
JScrollBarの下にスクロールロックボタンを配置する
JScrollBarの下にスクロールロックボタンを配置する
JScrollPane
から取得した垂直JScrollBar
とそれらのスクロールをロックするためのJToggleButton
を別パネルに配置します。
JTableを配置したJScrollPaneの右上コーナー区画に配置されるコンポーネントを取得する
JTableを配置したJScrollPaneの右上コーナー区画に配置されるコンポーネントを取得する
JTable
を配置したJScrollPane
の右上コーナー区画に配置されるコンポーネントを取得し、JTable
の幅よりJViewport
の幅が大きくなる場合はそれを非表示に切り替えます。
↑60 ↓61
JTableが配置されたJScrollPaneのBorderを変更する
JTableが配置されたJScrollPaneのBorderを変更する
JTable
が配置されたJScrollPane
に適用されるBorder
をまとめて変更します。
JScrollPaneにJTableを配置して連続月間カレンダーを作成する
JScrollPaneにJTableを配置して連続月間カレンダーを作成する
JScrollPane
にJTable
を配置してマウスホイールなどでスクロール可能な連続月間カレンダーを作成します。
JTableのセル内に配置したJCheckBoxをクリックして行の高さの展開・折り畳みを実行する
JTableのセル内に配置したJCheckBoxをクリックして行の高さの展開・折り畳みを実行する
JTable
のセル内にJCheckBox
を配置し、これをクリックしたらとなりのセルの推奨サイズまで行の高さを展開します。
JTableの水平罫線を描画する位置とその色をソート条件に応じて変更する
JTableの水平罫線を描画する位置とその色をソート条件に応じて変更する
JTable
で順位表を作成し、上位と下位のグループ分けを表す水平罫線をJLayer
を使用して描画するよう設定します。
JTableのグリッド線描画をUIDefaultsから復元する
JTableのグリッド線描画をUIDefaultsから復元する
JTable
のグリッド線を表示するかをLookAndFeel
のデフォルト設定から復元するよう設定します。
JTableの行を右クリックで選択して同時にJPopupMenuを開く
JTableの行を右クリックで選択して同時にJPopupMenuを開く
JTable
の行を右クリックした場合、その選択状態の変更とJPopupMenu
の表示を両方実行する方法をテストします。
JTableの表示倍率を変更する
JTableの表示倍率を変更する
JTable
のフォントサイズ、行高、セルエディタのチェックアイコンなどを拡大縮小して表示倍率を変更します。
JTableの行選択背景描画をラウンド矩形に変更する
JTableの行選択背景描画をラウンド矩形に変更する
JTable
の行選択背景が行全体でラウンド矩形になるよう先頭・末尾セルのTableCellRenderer
で角を丸めて描画します。
JTableのセルに行選択チェックボックスを追加する
JTableのセルに行選択チェックボックスを追加する
JTable
のセルに行選択チェックボックスを設定してキー操作なしで複数行選択を可能にします。
JTableのセル選択背景描画をラウンド矩形に変更する
JTableのセル選択背景描画をラウンド矩形に変更する
JTable
のセルを選択可能に設定し、その選択背景描画をラウンド矩形に変更します。