Swing/TableSortIcon のバックアップの現在との差分(No.8)
- category: swing folder: TableSortIcon title: JTableのソートアイコンを変更 tags: [JTable, JTableHeader, Icon, UIManager] author: aterai pubdate: 2008-07-07T11:40:12+09:00 description: JTableのソートアイコンを非表示にしたり、別の画像に変更します。 image:
概要
JTable
のソートアイコンを非表示にしたり、別の画像に変更します。
Screenshot
Advertisement
サンプルコード
#spandel
Icon emptyIcon = new Icon() {
#spanend
@Override public void paintIcon(Component c, Graphics g, int x, int y) {}
@Override public int getIconWidth(){
#spanadd
class EmptyIcon implements Icon {
#spanend
@Override public void paintIcon(Component c, Graphics g, int x, int y) {
/* Empty icon */
}
#spanadd
#spanend
@Override public int getIconWidth() {
return 0;
}
#spanadd
#spanend
@Override public int getIconHeight() {
return 0;
}
#spandel
};
#spanend
#spandel
UIManager.put("Table.ascendingSortIcon", new IconUIResource(emptyIcon));
#spanend
#spandel
UIManager.put("Table.descendingSortIcon", new IconUIResource(emptyIcon));
#spanend
#spanadd
}
#spanend
#spanadd
// ...
#spanend
#spanadd
UIManager.put("Table.ascendingSortIcon", new IconUIResource(new EmptyIcon()));
#spanend
#spanadd
UIManager.put("Table.descendingSortIcon", new IconUIResource(new EmptyIcon()));
#spanend
View in GitHub: Java, Kotlin解説
上記のサンプルでは、UIManager
を使用してJTable
のヘッダに表示されるソートアイコンを変更しています。
Default
UIManager.getLookAndFeelDefaults().getIcon("Table.ascendingSortIcon")
などで取得したLookAndFeel
でのデフォルトソートアイコンを表示
Empty
- サイズ
0
のIcon
でソートアイコンを非表示
- サイズ
-
Cumstom
- サイズ
0
のIcon
でソートアイコンを非表示化
- サイズ
-
Custom
- 透過
png
画像から生成したソートアイコンを表示
- 透過