source: josm/trunk/src/org/openstreetmap/josm/corrector/CorrectionTable.java@ 7448

Last change on this file since 7448 was 6223, checked in by Don-vip, 11 years ago

Sonar - fix various violations

  • Property svn:eol-style set to native
File size: 1.9 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.corrector;
3
4import java.awt.Component;
5import java.awt.Dimension;
6import java.awt.Font;
7
8import javax.swing.JLabel;
9import javax.swing.JTable;
10import javax.swing.table.TableCellRenderer;
11
12public abstract class CorrectionTable<T extends CorrectionTableModel<?>>
13 extends JTable {
14
15 private static final int MAX_VISIBLE_LINES = 10;
16
17 public static class BoldRenderer extends JLabel implements
18 TableCellRenderer {
19
20 @Override
21 public Component getTableCellRendererComponent(JTable table,
22 Object value, boolean isSelected, boolean hasFocus, int row,
23 int column) {
24
25 Font f = getFont();
26 setFont(new Font(f.getName(), f.getStyle() | Font.BOLD, f.getSize()));
27
28 setText((String)value);
29
30 return this;
31 }
32 }
33
34 private static BoldRenderer boldRenderer = null;
35
36 protected CorrectionTable(T correctionTableModel) {
37 super(correctionTableModel);
38
39 final int correctionsSize = correctionTableModel.getCorrections().size();
40 final int lines = correctionsSize > MAX_VISIBLE_LINES ? MAX_VISIBLE_LINES
41 : correctionsSize;
42 setPreferredScrollableViewportSize(new Dimension(400, lines
43 * getRowHeight()));
44 getColumnModel().getColumn(correctionTableModel.getApplyColumn())
45 .setPreferredWidth(40);
46 setRowSelectionAllowed(false);
47 }
48
49 @Override
50 public TableCellRenderer getCellRenderer(int row, int column) {
51 if (getCorrectionTableModel().isBoldCell(row, column)) {
52 if (boldRenderer == null)
53 boldRenderer = new BoldRenderer();
54 return boldRenderer;
55 }
56 return super.getCellRenderer(row, column);
57 }
58
59 @SuppressWarnings("unchecked")
60 public T getCorrectionTableModel() {
61 return (T)getModel();
62 }
63
64}
Note: See TracBrowser for help on using the repository browser.