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

Last change on this file since 19050 was 19050, checked in by taylor.smock, 15 months ago

Revert most var changes from r19048, fix most new compile warnings and checkstyle issues

Also, document why various ErrorProne checks were originally disabled and fix
generic SonarLint issues.

  • Property svn:eol-style set to native
File size: 1.5 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
13/**
14 * This is the base class for all cells in the {@link TagMerger}.
15 */
16public abstract class TagMergeTableCellRenderer extends JLabel implements TableCellRenderer {
17
18 protected abstract void renderKey(TagMergeItem item, boolean isSelected);
19
20 protected abstract void renderValue(TagMergeItem item, boolean isSelected);
21
22 protected void reset() {
23 setOpaque(true);
24 setBackground(ConflictColors.BGCOLOR.get());
25 setForeground(ConflictColors.FGCOLOR.get());
26 }
27
28 @Override
29 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row,
30 int col) {
31
32 reset();
33 if (value == null)
34 return this;
35
36 TagMergeItem item = (TagMergeItem) value;
37 switch (col) {
38 case 0:
39 renderKey(item, isSelected);
40 break;
41 case 1:
42 renderValue(item, isSelected);
43 break;
44 default:
45 // should not happen, but just in case
46 throw new IllegalArgumentException(MessageFormat.format("Parameter 'col' must be 0 or 1. Got {0}.", col));
47 }
48 return this;
49 }
50}
Note: See TracBrowser for help on using the repository browser.