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, 4 weeks 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.