1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package de.jaret.examples.timebars.fzd.swing;
21
22 import java.awt.Color;
23
24 import javax.swing.JComponent;
25 import javax.swing.JTable;
26 import javax.swing.table.AbstractTableModel;
27
28 import de.jaret.examples.timebars.fzd.model.FahrzeugInfo;
29 import de.jaret.util.ui.timebars.model.TimeBarRowHeader;
30 import de.jaret.util.ui.timebars.swing.TimeBarViewer;
31 import de.jaret.util.ui.timebars.swing.renderer.HeaderRenderer;
32
33 /***
34 * @author Peter Kliem
35 * @version $Id: FahrzeugInfoHeaderRenderer.java 228 2007-02-09 23:23:29Z olk $
36 */
37 public class FahrzeugInfoHeaderRenderer implements HeaderRenderer {
38 JTable _component = new JTable();
39 FzgInfoTableModel _model = new FzgInfoTableModel();
40
41 public FahrzeugInfoHeaderRenderer() {
42 }
43
44 public JComponent getHeaderRendererComponent(TimeBarViewer tbv, TimeBarRowHeader value, boolean isSelected) {
45 _model.setFzgInfo((FahrzeugInfo) value);
46 _component.setModel(_model);
47 _component.setToolTipText("FahrzeugHeaderToolTip");
48 if (isSelected) {
49 _component.setBackground(Color.BLUE);
50 } else {
51 _component.setBackground(Color.WHITE);
52 }
53 return _component;
54 }
55
56 public int getWidth() {
57 return 150;
58 }
59
60 class FzgInfoTableModel extends AbstractTableModel {
61 FahrzeugInfo _fzgInfo;
62
63 public void setFzgInfo(FahrzeugInfo fzgInfo) {
64 _fzgInfo = fzgInfo;
65 }
66
67
68
69
70
71
72 public int getColumnCount() {
73 return 2;
74 }
75
76
77
78
79
80
81 public int getRowCount() {
82 return 2;
83 }
84
85
86
87
88
89
90 public Object getValueAt(int rowIndex, int columnIndex) {
91 switch (columnIndex) {
92 case 0:
93 switch (rowIndex) {
94 case 0:
95 return "FzdNr";
96 case 1:
97 return "km";
98 default:
99 return "n.a.";
100 }
101 case 1:
102 switch (rowIndex) {
103 case 0:
104 return _fzgInfo.getLabel();
105 case 1:
106 return new Integer(_fzgInfo.getKilometer());
107 default:
108 return "n.a.";
109 }
110
111 default:
112 return "???";
113 }
114 }
115
116 }
117 }