View Javadoc

1   package de.jaret.examples.timebars.scheduling.swing.renderer;
2   
3   import java.awt.Color;
4   import java.awt.Rectangle;
5   
6   import javax.swing.JButton;
7   import javax.swing.JComponent;
8   
9   import de.jaret.examples.timebars.scheduling.model.Job;
10  import de.jaret.util.date.Interval;
11  import de.jaret.util.ui.timebars.TimeBarViewerDelegate;
12  import de.jaret.util.ui.timebars.swing.TimeBarViewer;
13  import de.jaret.util.ui.timebars.swing.renderer.TimeBarRenderer;
14  
15  public class JobRenderer implements TimeBarRenderer {
16      /*** component used for rendering. */
17      protected JButton _component = new JButton();
18  
19  
20      /***
21       * {@inheritDoc}
22       */
23      public JComponent getTimeBarRendererComponent(TimeBarViewer tbv, Interval value, boolean isSelected,
24              boolean overlapping) {
25  
26          _component.setText(value.toString());
27          _component.setToolTipText(value.toString());
28          
29          Job job = (Job)value;
30          switch (job.getPriority()) {
31          case 0:
32              _component.setBackground(Color.RED);
33              break;
34          case 1:
35              _component.setBackground(Color.ORANGE);
36              break;
37          case 2:
38              _component.setBackground(Color.YELLOW);
39              break;
40          case 3:
41              _component.setBackground(Color.LIGHT_GRAY);
42              break;
43  
44          default:
45              break;
46          }
47          
48          if (isSelected) {
49              _component.setBackground(Color.BLUE);
50            } 
51          return _component;
52      }
53  
54      /***
55       * {@inheritDoc} Simple default implementation.
56       */
57      public Rectangle getPreferredDrawingBounds(Rectangle intervalDrawingArea,
58              TimeBarViewerDelegate delegate, Interval interval,
59              boolean selected, boolean overlap) {
60          return intervalDrawingArea;
61      }
62  }