View Javadoc

1   /*
2    *  File: FahrzeugInfoHeaderRenderer.java 
3    *  Copyright (c) 2004-2007  Peter Kliem (Peter.Kliem@jaret.de)
4    *  A commercial license is available, see http://www.jaret.de.
5    *
6    *  This program is free software; you can redistribute it and/or modify
7    *  it under the terms of the GNU General Public License as published by
8    *  the Free Software Foundation; either version 2 of the License, or
9    *  (at your option) any later version.
10   *
11   *  This program is distributed in the hope that it will be useful,
12   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   *  GNU General Public License for more details.
15   *
16   *  You should have received a copy of the GNU General Public License
17   *  along with this program; if not, write to the Free Software
18   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
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           * (non-Javadoc)
69           * 
70           * @see javax.swing.table.TableModel#getColumnCount()
71           */
72          public int getColumnCount() {
73              return 2;
74          }
75  
76          /*
77           * (non-Javadoc)
78           * 
79           * @see javax.swing.table.TableModel#getRowCount()
80           */
81          public int getRowCount() {
82              return 2;
83          }
84  
85          /*
86           * (non-Javadoc)
87           * 
88           * @see javax.swing.table.TableModel#getValueAt(int, int)
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 }