Swing/SortColumnColor のバックアップ差分(No.2)
- バックアップ一覧
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Swing/SortColumnColor へ行く。
- 追加された行はこの色です。
- 削除された行はこの色です。
TITLE:JTableでソート中のカラムセル色 #navi(../) #tags() RIGHT:Posted by &author(aterai); at 2008-04-07 *JTableでソート中のカラムセル色 [#q2f9c6cb] --- title: JTableでソート中のカラムセル色 tags: [JTable, TableCellRenderer, TableRowSorter] author: aterai pubdate: 2008-04-07T12:47:33+09:00 description: どのカラムでソートされているかを表示するために、セルの背景色を変更します。 --- * 概要 [#q2f9c6cb] どのカラムでソートされているかを表示するために、セルの背景色を変更します。 -&jnlp; -&jar; -&zip; #download(https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTTZ75OnPI/AAAAAAAAAkU/k4lx4c2XKK8/s800/SortColumnColor.png) //#screenshot #ref(http://lh6.ggpht.com/_9Z4BYR88imo/TQTTZ75OnPI/AAAAAAAAAkU/k4lx4c2XKK8/s800/SortColumnColor.png) **サンプルコード [#r785420f] * サンプルコード [#r785420f] #code(link){{ JTable table = new JTable(model) { private final Color evenColor = new Color(255, 250, 250); @Override public Component prepareRenderer( TableCellRenderer tcr, int row, int column) { Component c = super.prepareRenderer(tcr, row, column); if(isRowSelected(row)) { c.setForeground(getSelectionForeground()); c.setBackground(getSelectionBackground()); }else{ c.setForeground(getForeground()); c.setBackground(isSortingColumn(column) ? evenColor : getBackground()); } return c; } private boolean isSortingColumn(int column) { RowSorter sorter = getRowSorter(); if(sorter!=null) { java.util.List list = sorter.getSortKeys(); if(list.size()>0) { RowSorter.SortKey key0 = (RowSorter.SortKey)list.get(0); if(column==convertColumnIndexToView(key0.getColumn())) { return true; } } } return false; } }; }} **解説 [#zc8cc798] 上記のサンプルでは、JTable#getSortKeys()#getSortKeys() で、ソート中のカラムを取得し、第一キーのカラムセル色を変更しています。 * 解説 [#zc8cc798] 上記のサンプルでは、`JTable#getSortKeys()#getSortKeys()`で、ソート中のカラムを取得し、第一キーのカラムセル色を変更しています。 //**参考リンク **コメント [#qa7d6ae8] //* 参考リンク * コメント [#qa7d6ae8] #comment - このサンプルでは、`NimbusLookAndFeel`などの場合、`BooleanCellRenderer`(`JCheckBox`を使った`Boolean`用のデフォルトセルレンダラー)を使った列の背景色を変更できない。 -- &user(aterai); &new{2013-01-15 (火) 16:33:54}; #comment