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.calendar.swing;
21
22 import java.awt.BorderLayout;
23
24 import javax.swing.JFrame;
25
26 import de.jaret.examples.timebars.calendar.model.Appointment;
27 import de.jaret.examples.timebars.calendar.model.AppointmentModificator;
28 import de.jaret.examples.timebars.calendar.model.CalendarModel;
29 import de.jaret.examples.timebars.calendar.model.ModelCreator;
30 import de.jaret.examples.timebars.calendar.swing.renderer.AppointmentRenderer;
31 import de.jaret.examples.timebars.calendar.swing.renderer.CalendarGridRenderer;
32 import de.jaret.util.date.IntervalImpl;
33 import de.jaret.util.date.JaretDate;
34 import de.jaret.util.ui.timebars.TimeBarViewerInterface;
35 import de.jaret.util.ui.timebars.mod.DefaultIntervalModificator;
36 import de.jaret.util.ui.timebars.model.DefaultRowHeader;
37 import de.jaret.util.ui.timebars.model.DefaultTimeBarModel;
38 import de.jaret.util.ui.timebars.model.DefaultTimeBarRowModel;
39 import de.jaret.util.ui.timebars.model.TimeBarModel;
40 import de.jaret.util.ui.timebars.swing.TimeBarViewer;
41 import de.jaret.util.ui.timebars.swing.renderer.OldDefaultTimeScaleRenderer;
42
43 /***
44 * Swing: the swing version of the calendar example (without drag and drop).
45 *
46 * @author Peter Kliem
47 * @version $Id: SwingCalendarExample.java 1104 2012-02-07 22:03:30Z kliem $
48 */
49 public class SwingCalendarExample {
50 static TimeBarViewer _tbv;
51
52 public static void main(String[] args) {
53 JFrame f = new JFrame(SwingCalendarExample.class.getName());
54 f.setSize(800, 500);
55 f.getContentPane().setLayout(new BorderLayout());
56 f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
57
58 TimeBarModel model = ModelCreator.createCalendarModel();;
59 _tbv = new TimeBarViewer(model);
60
61 _tbv.addIntervalModificator(new DefaultIntervalModificator());
62
63 _tbv.setPixelPerSecond(0.018);
64 _tbv.setDrawRowGrid(true);
65
66 _tbv.setSelectionDelta(6);
67
68 _tbv.setRowHeight(150);
69
70 _tbv.setTBOrientation(TimeBarViewerInterface.Orientation.VERTICAL);
71
72 _tbv.setYAxisWidth(20);
73
74
75
76 _tbv.setAdjustMinMaxDatesByModel(false);
77 _tbv.setMinDate(CalendarModel.BASEDATE.copy());
78 _tbv.setMaxDate(CalendarModel.BASEDATE.copy().advanceDays(1));
79
80 _tbv.setDrawOverlapping(false);
81 _tbv.setSelectionDelta(6);
82 _tbv.setTimeScalePosition(TimeBarViewerInterface.TIMESCALE_POSITION_TOP);
83
84
85 _tbv.addIntervalModificator(new AppointmentModificator());
86
87 _tbv.setTimeScaleRenderer(new OldDefaultTimeScaleRenderer());
88
89 _tbv.setGridRenderer(new CalendarGridRenderer());
90
91 _tbv.registerTimeBarRenderer(Appointment.class, new AppointmentRenderer());
92
93
94
95 f.getContentPane().add(_tbv, BorderLayout.CENTER);
96
97 f.getContentPane().add(new CalendarControlPanel(_tbv), BorderLayout.SOUTH);
98
99 f.setVisible(true);
100
101
102 }
103 public static TimeBarModel createModel() {
104 DefaultTimeBarModel model = new DefaultTimeBarModel();
105
106 JaretDate date = new JaretDate();
107
108 int length = 120;
109
110 DefaultRowHeader header = new DefaultRowHeader("r1");
111 DefaultTimeBarRowModel tbr = new DefaultTimeBarRowModel(header);
112 IntervalImpl interval = new IntervalImpl();
113 interval.setBegin(date.copy());
114 interval.setEnd(date.copy().advanceMinutes(length));
115 tbr.addInterval(interval);
116
117 interval = new IntervalImpl();
118 interval.setBegin(date.copy().advanceMinutes(30));
119 interval.setEnd(date.copy().advanceMinutes(length));
120 tbr.addInterval(interval);
121
122 interval = new IntervalImpl();
123 interval.setBegin(date.copy().advanceMinutes(60));
124 interval.setEnd(interval.getBegin().copy().advanceMinutes(length));
125 tbr.addInterval(interval);
126
127 model.addRow(tbr);
128
129 header = new DefaultRowHeader("r2");
130 tbr = new DefaultTimeBarRowModel(header);
131 interval = new IntervalImpl();
132 interval.setBegin(date.copy());
133 interval.setEnd(date.copy().advanceMinutes(length));
134 tbr.addInterval(interval);
135
136 interval = new IntervalImpl();
137 interval.setBegin(date.copy().advanceMinutes(120));
138 interval.setEnd(date.copy().advanceMinutes(length + length));
139 tbr.addInterval(interval);
140
141 model.addRow(tbr);
142
143 header = new DefaultRowHeader("r3");
144 tbr = new DefaultTimeBarRowModel(header);
145 interval = new IntervalImpl();
146 interval.setBegin(date.copy());
147 interval.setEnd(date.copy().advanceMinutes(length));
148 tbr.addInterval(interval);
149
150 interval = new IntervalImpl();
151 interval.setBegin(date.copy().advanceMinutes(30));
152 interval.setEnd(date.copy().advanceMinutes(length));
153 tbr.addInterval(interval);
154
155 interval = new IntervalImpl();
156 interval.setBegin(date.copy().advanceMinutes(60));
157 interval.setEnd(interval.getBegin().copy().advanceMinutes(length));
158 tbr.addInterval(interval);
159
160 interval = new IntervalImpl();
161 interval.setBegin(date.copy().advanceMinutes(90));
162 interval.setEnd(interval.getBegin().copy().advanceMinutes(length));
163 tbr.addInterval(interval);
164
165 model.addRow(tbr);
166
167
168 header = new DefaultRowHeader("r4");
169 tbr = new DefaultTimeBarRowModel(header);
170 model.addRow(tbr);
171
172 header = new DefaultRowHeader("r5");
173 tbr = new DefaultTimeBarRowModel(header);
174 model.addRow(tbr);
175
176 header = new DefaultRowHeader("r6");
177 tbr = new DefaultTimeBarRowModel(header);
178 model.addRow(tbr);
179
180 header = new DefaultRowHeader("r7");
181 tbr = new DefaultTimeBarRowModel(header);
182 model.addRow(tbr);
183
184 header = new DefaultRowHeader("r8");
185 tbr = new DefaultTimeBarRowModel(header);
186 model.addRow(tbr);
187
188 header = new DefaultRowHeader("r9");
189 tbr = new DefaultTimeBarRowModel(header);
190 model.addRow(tbr);
191
192 return model;
193 }
194 }