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
|