src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java

Print this page




 223         }
 224 
 225         @Override
 226         public Component getTableCellRendererComponent(JTable table, Object value,
 227                                                        boolean isSelected,
 228                                                        boolean hasFocus,
 229                                                        int row, int column) {
 230 
 231             boolean hasRollover = (column == getRolloverColumn());
 232             if (isSelected || hasRollover || hasFocus) {
 233                 SynthLookAndFeel.setSelectedUI((SynthLabelUI)SynthLookAndFeel.
 234                              getUIOfType(getUI(), SynthLabelUI.class),
 235                              isSelected, hasFocus, table.isEnabled(),
 236                              hasRollover);
 237             } else {
 238                 SynthLookAndFeel.resetSelectedUI();
 239             }
 240 
 241             //stuff a variable into the client property of this renderer indicating the sort order,
 242             //so that different rendering can be done for the header based on sorted state.
 243             RowSorter rs = table == null ? null : table.getRowSorter();
 244             java.util.List<? extends RowSorter.SortKey> sortKeys = rs == null ? null : rs.getSortKeys();
 245             if (sortKeys != null && sortKeys.size() > 0 && sortKeys.get(0).getColumn() ==
 246                     table.convertColumnIndexToModel(column)) {
 247                 switch(sortKeys.get(0).getSortOrder()) {
 248                     case ASCENDING:
 249                         putClientProperty("Table.sortOrder", "ASCENDING");
 250                         break;
 251                     case DESCENDING:
 252                         putClientProperty("Table.sortOrder", "DESCENDING");
 253                         break;
 254                     case UNSORTED:
 255                         putClientProperty("Table.sortOrder", "UNSORTED");
 256                         break;
 257                     default:
 258                         throw new AssertionError("Cannot happen");
 259                 }
 260             } else {
 261                 putClientProperty("Table.sortOrder", "UNSORTED");
 262             }
 263 


 223         }
 224 
 225         @Override
 226         public Component getTableCellRendererComponent(JTable table, Object value,
 227                                                        boolean isSelected,
 228                                                        boolean hasFocus,
 229                                                        int row, int column) {
 230 
 231             boolean hasRollover = (column == getRolloverColumn());
 232             if (isSelected || hasRollover || hasFocus) {
 233                 SynthLookAndFeel.setSelectedUI((SynthLabelUI)SynthLookAndFeel.
 234                              getUIOfType(getUI(), SynthLabelUI.class),
 235                              isSelected, hasFocus, table.isEnabled(),
 236                              hasRollover);
 237             } else {
 238                 SynthLookAndFeel.resetSelectedUI();
 239             }
 240 
 241             //stuff a variable into the client property of this renderer indicating the sort order,
 242             //so that different rendering can be done for the header based on sorted state.
 243             RowSorter<?> rs = table == null ? null : table.getRowSorter();
 244             java.util.List<? extends RowSorter.SortKey> sortKeys = rs == null ? null : rs.getSortKeys();
 245             if (sortKeys != null && sortKeys.size() > 0 && sortKeys.get(0).getColumn() ==
 246                     table.convertColumnIndexToModel(column)) {
 247                 switch(sortKeys.get(0).getSortOrder()) {
 248                     case ASCENDING:
 249                         putClientProperty("Table.sortOrder", "ASCENDING");
 250                         break;
 251                     case DESCENDING:
 252                         putClientProperty("Table.sortOrder", "DESCENDING");
 253                         break;
 254                     case UNSORTED:
 255                         putClientProperty("Table.sortOrder", "UNSORTED");
 256                         break;
 257                     default:
 258                         throw new AssertionError("Cannot happen");
 259                 }
 260             } else {
 261                 putClientProperty("Table.sortOrder", "UNSORTED");
 262             }
 263