Swing/TableSortIcon のバックアップの現在との差分(No.4)
- バックアップ一覧
- 差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Swing/TableSortIcon へ行く。
- 追加された行はこの色です。
- 削除された行はこの色です。
--- category: swing folder: TableSortIcon title: JTableのソートアイコンを変更 tags: [JTable, JTableHeader, Icon, UIManager] author: aterai pubdate: 2008-07-07T11:40:12+09:00 description: JTableのソートアイコンを非表示にしたり、別の画像に変更します。 image: https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTUsaUYVkI/AAAAAAAAAmc/34Qz14LqOGc/s800/TableSortIcon.png --- * 概要 [#b377199f] * 概要 [#summary] `JTable`のソートアイコンを非表示にしたり、別の画像に変更します。 #download(https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTUsaUYVkI/AAAAAAAAAmc/34Qz14LqOGc/s800/TableSortIcon.png) * サンプルコード [#i75d0d59] * サンプルコード [#sourcecode] #code(link){{ UIManager.put("Table.ascendingSortIcon", new IconUIResource(emptyIcon)); UIManager.put("Table.descendingSortIcon", new IconUIResource(emptyIcon)); }} class EmptyIcon implements Icon { @Override public void paintIcon(Component c, Graphics g, int x, int y) { /* Empty icon */ } * 解説 [#x0397842] 上記のサンプルでは、`UIManager`を使用して、以下のようなサイズ`0`の`Icon`や、透過`png`画像などを`JTable`のヘッダに表示されるソートアイコンを変更しています。 @Override public int getIconWidth() { return 0; } #code{{ private static final Icon emptyIcon = new Icon() { @Override public void paintIcon(Component c, Graphics g, int x, int y) {} @Override public int getIconWidth() { return 0; } @Override public int getIconHeight() { return 0; } }; @Override public int getIconHeight() { return 0; } } // ... UIManager.put("Table.ascendingSortIcon", new IconUIResource(new EmptyIcon())); UIManager.put("Table.descendingSortIcon", new IconUIResource(new EmptyIcon())); }} //* 参考リンク * コメント [#v8f4a771] * 解説 [#explanation] 上記のサンプルでは、`UIManager`を使用して`JTable`のヘッダに表示されるソートアイコンを変更しています。 - `Default` -- `UIManager.getLookAndFeelDefaults().getIcon("Table.ascendingSortIcon")`などで取得した`LookAndFeel`でのデフォルトソートアイコンを表示 - `Empty` -- サイズ`0`の`Icon`でソートアイコンを非表示化 - `Custom` -- 透過`png`画像から生成したソートアイコンを表示 * 参考リンク [#reference] - [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/Icon.html Icon (Java Platform SE 8)] - [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/UIManager.html#getLookAndFeelDefaults-- UIManager#getLookAndFeelDefaults() (Java Platform SE 8)] * コメント [#comment] #comment #comment