source: josm/trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeTableCellRenderer.java@ 5299

Last change on this file since 5299 was 4162, checked in by stoecker, 13 years ago

fix #4140 - make colors in conflict dialog configurable

  • Property svn:eol-style set to native
File size: 1.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.conflict.pair.tags;
3
4import java.awt.Component;
5import java.text.MessageFormat;
6
7import javax.swing.JLabel;
8import javax.swing.JTable;
9import javax.swing.table.TableCellRenderer;
10
11import org.openstreetmap.josm.gui.conflict.ConflictColors;
12
13public abstract class TagMergeTableCellRenderer extends JLabel implements TableCellRenderer {
14
15 protected abstract void renderKey(TagMergeItem item, boolean isSelected );
16
17 protected abstract void renderValue(TagMergeItem item, boolean isSelected);
18
19 protected void reset() {
20 setOpaque(true);
21 setBackground(ConflictColors.BGCOLOR.get());
22 setForeground(ConflictColors.FGCOLOR.get());
23 }
24
25 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row,
26 int col) {
27
28 reset();
29 if (value == null)
30 return this;
31
32 TagMergeItem item = (TagMergeItem)value;
33 switch(col) {
34 case 0:
35 renderKey(item, isSelected);
36 break;
37 case 1:
38 renderValue(item, isSelected);
39 break;
40 default:
41 // should not happen, but just in case
42 throw new IllegalArgumentException(MessageFormat.format("Parameter 'col' must be 0 or 1. Got {0}.", col));
43 }
44 return this;
45 }
46
47}
Note: See TracBrowser for help on using the repository browser.