---
title: JTableHeader TableColumn
tags: [JTable, JTableHeader, TableColumn]
description: JTableHeader、TableColumn関係の記事へのスクリーンショット付きリンク一覧
---
このページでは、`JTableHeader`、`TableColumn`関係のメモを集めて一覧にしています。

#contents

* JTableHeader TableColumn [#JTableHeader]
** TableColumnの幅を比率で設定 [#HeaderRatio]
#swingdescription(Swing/HeaderRatio,TableColumnの幅を比率で設定,列幅調整がデフォルトのJTableで、ヘッダの各TableColumnが指定した比率の幅になるように設定します。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TSs6oj80RcI/AAAAAAAAAxs/hm2gp4ELiDI/s200/HeaderRatio.png)

** JTableに行ヘッダを追加 [#TableRowHeader]
#swingdescription(Swing/TableRowHeader,JTableに行ヘッダを追加,JTableを設定したJScrollPaneのRowHeaderViewに、JListで作成した行ヘッダを追加します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTUk9YzW7I/AAAAAAAAAmQ/wjin9CuyfBg/s200/TableRowHeader.png)

** JTableHeaderにJCheckBoxを追加してセルの値を切り替える [#TableHeaderCheckBox]
#swingdescription(Swing/TableHeaderCheckBox,JTableHeaderにJCheckBoxを追加してセルの値を切り替える,JTableHeaderにJCheckBoxを追加して、同じ列のJCheckBoxで表示している値をすべて切り替えます。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTUf8Li6CI/AAAAAAAAAmI/mj7-1IwK86o/s200/TableHeaderCheckBox.png)

** JTableHeaderにJPopupMenuを追加してソート [#RowSorterPopupMenu]
#swingdescription(Swing/RowSorterPopupMenu,JTableHeaderにJPopupMenuを追加してソート,JTableHeaderにJPopupMenuを追加してソートします。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTSY9WWpNI/AAAAAAAAAis/Z0YqvftAIh8/s200/RowSorterPopupMenu.png)

** JTableHeaderをクリックしてそのColumnのセルを全選択 [#ColumnSelection]
#swingdescription(Swing/ColumnSelection,JTableHeaderをクリックしてそのColumnのセルを全選択,JTableHeaderをクリックしたとき、そのColumn以下にあるセルを全選択します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTJrC8DyhI/AAAAAAAAAUw/SO1wMAudBiE/s200/ColumnSelection.png)

** JTableHeaderの字揃えを変更 [#HorizontalAlignmentHeaderRenderer]
#swingdescription(Swing/HorizontalAlignmentHeaderRenderer,JTableHeaderの字揃えを変更,JTableHeaderの字揃えをTableCellRendererを使って変更します。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTN5ZuPeZI/AAAAAAAAAbg/Fivi4R1rR-Y/s200/HorizontalAlignmentHeaderRenderer.png)

** JTableHeaderのフォントを変更 [#HeaderFont]
#swingdescription(Swing/HeaderFont,JTableHeaderのフォントを変更,TableCellRendererを使って、JTableのヘッダが使用するフォントを変更します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTNshbAJvI/AAAAAAAAAbM/xYo1iOQ9fxU/s200/HeaderFont.png)

** JTableHeaderのTooltipsを列ごとに変更 [#HeaderTooltips]
#swingdescription(Swing/HeaderTooltips,JTableHeaderのTooltipsを列ごとに変更,JTableHeaderのTooltipsが、カーソルのある列の内容などを表示するようにします。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTNx5xm6BI/AAAAAAAAAbU/LCSjxDNp8p0/s200/HeaderTooltips.png)

** JTableのセルがクリップされている場合のみJToolTipを表示 [#ClippedCellTooltips]
#swingdescription(Swing/ClippedCellTooltips,JTableのセルがクリップされている場合のみJToolTipを表示,JTableのセルがクリップされている場合のみJToolTipを表示します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTJNQAyg-I/AAAAAAAAAUA/F6oQbiUShl4/s200/ClippedCellTooltips.png)

** JTableのカラム幅を一部だけ固定 [#FixedWidthColumn]
#swingdescription(Swing/FixedWidthColumn,JTableのカラム幅を一部だけ固定する,JTableのヘッダでカラム幅を一部だけ固定します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTM9YcNZfI/AAAAAAAAAaA/sbjwdihBwqY/s200/FixedWidthColumn.png)

* ↑10 ↓11 [#ab538b38]
#adsensebar

** JTableのヘッダ入れ替えを禁止 [#Reordering]
#swingdescription(Swing/Reordering,JTableのヘッダ入れ替えを禁止,JTableのカラムヘッダをマウスによるドラッグ&ドロップで並べ替え可能かどうかを切り替えます。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTRr3AzfQI/AAAAAAAAAhk/mfgsIhuaEz0/s200/Reordering.png)

** JTableHeaderを非表示にする [#RemoveTableHeader]
#swingdescription(Swing/RemoveTableHeader,JTableHeaderを非表示にする,JTableでJTableHeaderを表示するかどうかを、動的に切り替えます。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTRpYOxz3I/AAAAAAAAAhg/7HdNawHaulI/s200/RemoveTableHeader.png)

** JTableHeaderで作成したタブエリアでCardLayoutのコンテナを切り替える [#TableHeaderTabArea]
#swingdescription(Swing/TableHeaderTabArea,JTableHeaderで作成したタブエリアでCardLayoutのコンテナを切り替える,JTableHeaderをタブエリアとして使用し、TableColumnをクリックするとCardLayoutのコンテナが切り替わるようにマウスリスナーを設定します。,https://lh3.googleusercontent.com/-ZfZAc1Xgx9Q/VZBDTAXsteI/AAAAAAAAN7c/VEw9Z6haOP0/s200/TableHeaderTabArea.png)

** JTableのヘッダを透明化 [#TransparentTableHeader]
#swingdescription(Swing/TransparentTableHeader,JTableのヘッダを透明化,JTableのヘッダ背景、セル間の垂直罫線を非表示にします。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TZl3Ci_GNnI/AAAAAAAAA40/wSbo6ySTlz0/s200/TransparentTableHeader.png)

** JTableHeaderにJButtonを追加する [#ButtonInTableHeader]
#swingdescription(Swing/ButtonInTableHeader,JTableHeaderにJButtonを追加する,JTableHeaderにクリックするとポップアップメニューを表示するJButtonを追加します。,https://lh3.googleusercontent.com/-ccZ08VSXYwE/Trd27UaeD2I/AAAAAAAABEk/1NAYoZ1NGV0/s200/ButtonInTableHeader.png)

** JCheckBoxに不定状態のアイコンを追加する [#TriStateCheckBox]
#swingdescription(Swing/TriStateCheckBox,JCheckBoxに不定状態のアイコンを追加する,JCheckBoxの選択状態、非選択状態に加えて、不定状態を表すアイコンを追加します。,https://lh6.googleusercontent.com/-Rs-vnlD35Cg/TuTNCuEvU_I/AAAAAAAABF4/IzDezx4Rq8M/s200/TriStateCheckBox.png)

** JTableHeaderの高さを変更 [#TableHeaderHeight]
#swingdescription(Swing/TableHeaderHeight,JTableHeaderの高さを変更,内部の文字サイズなどはそのままで、JTableHeaderの高さだけを変更する方法をテストします。,https://lh4.googleusercontent.com/-l20IOO5wKSo/T8MIf7FVUwI/AAAAAAAABNM/9BNN63T96Fo/s200/TableHeaderHeight.png)

** JTableの行ヘッダに列ヘッダのRendererを使用する [#RowHeaderStyle]
#swingdescription(Swing/RowHeaderStyle,JTableの行ヘッダに列ヘッダのRendererを使用する,JTableの行の描画に、JTableHeaderから取得した列ヘッダのRendererを適用します。,https://lh3.googleusercontent.com/-FSdrv2BDUCo/UJaJTUVXcdI/AAAAAAAABWU/gBeKokda9h8/s200/RowHeaderStyle.png)

** JTableのColumn名を変更する [#EditColumnName]
#swingdescription(Swing/EditColumnName,JTableのColumn名を変更する,JTableのColumn名をJPopupMenuを使用して変更します。,https://lh4.googleusercontent.com/-axnByzuSfvw/Uj9Bj3mhK0I/AAAAAAAAB2U/GgzDuKdOje8/s200/EditColumnName.png)

** JTableの複数キーを使ったソートをヘッダに表示する [#MultisortHeaderRenderer]
#swingdescription(Swing/MultisortHeaderRenderer,JTableの複数キーを使ったソートをヘッダに表示する,JTableの複数キーを使ったソートの状態をヘッダ上に別途表示します。,https://lh3.googleusercontent.com/-QNe3lJ3oXH0/Ulqu3vaS91I/AAAAAAAAB3U/Tb2kXiKV8Fs/s200/MultisortHeaderRenderer.png)

* ↑20 ↓21 [#w05f38f7]
#adsensebar

** JTableのモデルが変更されたことをイベントで受け取る [#TableModelEvent]
#swingdescription(Swing/TableModelEvent,JTableのモデルが変更されたことをイベントで受け取る,JTableのモデルの変更を受け取ってJTableHeaderに追加したJCheckBoxを更新します。,https://lh3.googleusercontent.com/-Mndxsu0wtCM/Uzg00YuVfyI/AAAAAAAACCw/HoRS9CVP_-o/s200/TableModelEvent.png)

** JTableのリサイズで最後のTableColumnのみリサイズする [#ResizingColumnAndTable]
#swingdescription(Swing/ResizingColumnAndTable,JTableのリサイズで最後のTableColumnのみリサイズする,JTableがリサイズされた場合、最後にあるTableColumnがその幅の変更を吸収するように設定します。,https://lh4.googleusercontent.com/-uhbVwRqsa2g/U4HyPhrI8PI/AAAAAAAACF8/OJXWaFVxavE/s200/ResizingColumnAndTable.png)

** JTableHeaderのハイライト表示 [#ColumnHeaderHighlight]
#swingdescription(Swing/ColumnHeaderHighlight,JTableHeaderのハイライト表示,JTableのセルが選択されている場合、そのセルが存在するカラムヘッダにフォーカスを設定します。,https://lh6.googleusercontent.com/-g01DwekSNRs/VKAYFMHxxEI/AAAAAAAANtw/OwiMQuJ3gQY/s200/ColumnHeaderHighlight.png)

** JTableで選択可能な列を制限する [#ColumnSelectability]
#swingdescription(Swing/ColumnSelectability,JTableで選択可能な列を制限する,JTableの任意の列でマウスクリックなどによる選択ができないように制限します。,https://lh3.googleusercontent.com/-kvjA0RzkNxQ/ViOrBhPfAiI/AAAAAAAAOEc/meMBIUCKAmc/s200-Ic42/ColumnSelectability.png)

** TableColumnModelをXMLファイルで保存、復元する [#ColumnModelPersistence]
#swingdescription(Swing/ColumnModelPersistence,TableColumnModelをXMLファイルで保存、復元する,JTableのヘッダからTableColumnModelを取得し、XMLEncoderとXMLDecoderを使って、XMLファイルで保存、復元します。,https://lh3.googleusercontent.com/-3ZhmTqRFkgU/Vm2uUZ4_gCI/AAAAAAAAOI4/bY9IRX-guT4/s200-Ic42/ColumnModelPersistence.png)

** JTableのカラムヘッダにIconを表示する [#TableColumnHeaderIcon]
#swingdescription(Swing/TableColumnHeaderIcon,JTableのカラムヘッダにIconを表示する,JTableの各カラムヘッダにアイコンとタイトル文字列を表示するよう設定します。,https://lh3.googleusercontent.com/-yQYpkrDnAcQ/VqT3Oq7tovI/AAAAAAAAOL8/YbbgnXgZ9B4/s200-Ic42/TableColumnHeaderIcon.png)

** JLabelにHTMLフォーマットのinputタグで生成したcheckboxを表示する [#InputTypeCheckBox]
#swingdescription(Swing/InputTypeCheckBox,JLabelにHTMLフォーマットのinputタグで生成したcheckboxを表示する,JLabelを継承するヘッダのTableCellRendererにHTMLフォーマットのinputタグで生成したcheckboxを表示し、クリックに応じてその状態を変更します。,https://lh3.googleusercontent.com/-vnWIjLh4mRA/VtMSSVOc3gI/AAAAAAAAOPo/41aAmP3gMuc/s200-Ic42/InputTypeCheckBox.png)

** JTableHeaderでTableColumnのグループ化を行う [#GroupableTableHeader]
#swingdescription(Swing/GroupableTableHeader,JTableHeaderでTableColumnのグループ化を行う,TableColumnのグループ化を可能にし、JTableHeaderでの列結合を実現します。,https://lh3.googleusercontent.com/-DIZZyiOX9YU/VyYbXr9opNI/AAAAAAAAOTs/QhLBqtw5Z34ULclU9aZHnVjnEZMJvhJmgCCo/s200/GroupableTableHeader.png)

** JTableの列を編集可、かつ選択不可に設定 [#DisableColumnSelection]
#swingdescription(Swing/DisableColumnSelection,JTableの列を編集可、かつ選択不可に設定,JTableの指定した列を編集は可能、ただし選択は不可になるよう設定します。,https://lh3.googleusercontent.com/-goXZsRlvEdI/V2a1zMod1iI/AAAAAAAAOcA/ZX8_9YIkBwYS45vkDbZRBa6wf2PyjUS1QCCo/s200/DisableColumnSelection.png)

** JTableのTableColumnの表示順を初期状態に戻す [#RestoreTableColumnOrder]
#swingdescription(Swing/RestoreTableColumnOrder,JTableのTableColumnの表示順を初期状態に戻す,JTableのTableColumnの表示順が入れ替えられていた場合、それを初期状態(モデル順)に戻します。,https://drive.google.com/thumbnail?id=1uR48L0Uvm0mBLPOYXx8IR1VJYp0KVzuiAQ)

* ↑30 ↓31 [#tb583676]
#adsensebar

** JTableHeaderの余白にヘッダを描画する [#TableHeaderFiller]
#swingdescription(Swing/TableHeaderFiller,JTableHeaderの余白にヘッダを描画する,JTableHeaderの列幅を自動調整しない場合に発生する余白にダミーのヘッダを描画します。,https://drive.google.com/thumbnail?id=1S2FqsLneoDTvkP2Xx-RLfsgLXGkFcduAaw)
#swingdescription(Swing/TableHeaderFiller,JTableHeaderの余白にヘッダを描画する,JTableHeaderの列幅を自動調整しない場合に発生する余白に疑似ヘッダを描画します。,https://drive.google.com/thumbnail?id=1S2FqsLneoDTvkP2Xx-RLfsgLXGkFcduAaw)

** JTableの幅が一定以下で水平スクロールバー、以上で列幅を自動拡張するよう設定 [#ScrollableTracksViewportWidth]
#swingdescription(Swing/ScrollableTracksViewportWidth,JTableの幅が一定以下で水平スクロールバー、以上で列幅を自動拡張するよう設定,JTableの幅が一定以下の場合は列幅を維持して水平スクロールバーを表示し、それ以上になる場合は列幅の自動調整を実行してJTableの幅まで拡張するよう設定します。,https://drive.google.com/thumbnail?id=1eCpohELZxCaXX2bowhwY668e4Ww3hn326A)

** TableColumnのリサイズ中にその幅をJToolTipで表示する [#ColumnWidthTooltip]
#swingdescription(Swing/ColumnWidthTooltip,TableColumnのリサイズ中にその幅をJToolTipで表示する,TableColumnをマウスでリサイズ中の場合、その幅をJWindowに配置したJToolTipで表示します。,https://drive.google.com/thumbnail?id=10_c07xtUT3tMntB9hunUeA4fV-jZN50j)

** JTableHeaderに追加された各TableColumnの表示・非表示を切り替える [#AddRemoveTableColumn]
#swingdescription(Swing/AddRemoveTableColumn,JTableHeaderに追加された各TableColumnの表示・非表示を切り替える,JTableHeaderのTableColumnが表示・非表示状態かをJCheckBoxMenuItemを使用して切り替えます。,https://drive.google.com/thumbnail?id=1s7b9r9oP8o0El5Ti3e1xM84anoj5r_Te)

** JTableHeaderの列をマウスの右ボタンドラッグで順序変更不可にする [#DisableRightButtonReordering]
#swingdescription(Swing/DisableRightButtonReordering,JTableHeaderの列をマウスの右ボタンドラッグで順序変更不可にする,JLayerを使用してJTableHeaderの列をマウスの右ボタンでドラッグしても順序変更不可に設定します。,https://drive.google.com/thumbnail?id=1fETWKkk9g8-SRVPtWT7UmZhoBEue-8rK)

** JTableHeaderの角を丸める [#RoundedCornerTableHeader]
#swingdescription(Swing/RoundedCornerTableHeader,JTableHeaderの角を丸める,JTableHeaderにその角を丸めるTableCellRendererを設定し、月に応じてその背景色を変更するカレンダーを作成します。,https://drive.google.com/thumbnail?id=1G12861FsnGgdiq4go-9ECD8xbj5BU8pW)

** JSplitPaneやTableColumnのリサイズカーソルを変更する [#ResizeColumnCursor]
#swingdescription(Swing/ResizeColumnCursor,JSplitPaneやTableColumnのリサイズカーソルを変更する,JSplitPaneのDividerやJTableHeaderのTableColumnでコンボーネントをリサイズ中に表示されるマウスカーソルを変更します。,https://drive.google.com/thumbnail?id=16YsnRoba4Fln-RrWN_rd1V_81Hiw3q4l)

** JTableHeaderをリンク風に表示しセル内余白のクリックを無効にする [#HyperlinkHeaderCellRenderer]
#swingdescription(Swing/HyperlinkHeaderCellRenderer,JTableHeaderをリンク風に表示しセル内余白のクリックを無効にする,JTableHeaderの列文字列をリンク風に表示し、そのリンク以外のセル内余白をクリックしても列ソートを実行しないよう設定します。,https://drive.google.com/thumbnail?id=15xkCkHGxacN_pZ9_LxvArcHbHTdXsA1B)

** JTableHeaderのソートアイコンをヘッダセル右揃えで表示する [#TableHeaderRightAlignSortArrow]
#swingdescription(Swing/TableHeaderRightAlignSortArrow,JTableHeaderのソートアイコンをヘッダセル右揃えで表示する,JTableHeaderのソートアイコンの表示位置をタイトル文字列右隣からヘッダセル右揃えに変更します。,https://drive.google.com/thumbnail?id=1kIVVpk_5RXF_0L8G6lmCKbcvTm71Pv3Z)

** JTableHeaderのソートアイコンをヘッダセルの左上に表示する [#SortIconLayoutHeaderRenderer]
#swingdescription(Swing/SortIconLayoutHeaderRenderer,JTableHeaderのソートアイコンをヘッダセルの左上に表示する,JTableHeaderの任意の列のソートアイコンをtableタグを使用してヘッダセルの左上に表示するよう設定します。,https://drive.google.com/thumbnail?id=1f31_xhhURzzecQrFMY_jHDhCwvXngzFa)

* ↑40 ↓41 [#we0ddd3a]
#adsensebar

** JTableHeaderの列タイトル文字列を回転して垂直表示する [#VerticalColumnTableHeader]
#swingdescription(Swing/VerticalColumnTableHeader,JTableHeaderの列タイトル文字列を回転して垂直表示する,JTableHeaderの列タイトル文字列を反時計回りに90度回転して垂直表示します。,https://drive.google.com/thumbnail?id=1-KX81FoU4eiaGBTgO_1Qig3ZUfn_lb3P)

** JTableHeaderのTableColumnを斜め線で分割する [#DiagonalHeaderCellBorder]
#swingdescription(Swing/DiagonalHeaderCellBorder,JTableHeaderのTableColumnを斜め線で分割する,JTableHeaderの第0番目のTableColumnを斜め線で分割して行と列で異なる見出しを表示します。,https://drive.google.com/thumbnail?id=1ZYw3qU1gbO_gq4-6YrfXTlkH35QLEAyf)