1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package com.cosylab.gui.components;
21
22 import java.awt.GridBagConstraints;
23 import java.awt.GridBagLayout;
24 import java.awt.Insets;
25
26 import java.util.Calendar;
27 import java.util.Date;
28 import java.util.GregorianCalendar;
29
30 import javax.swing.JDialog;
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 public class DateTimeSelector extends javax.swing.JPanel
48 {
49
50 private static final long serialVersionUID = 1L;
51 private SimpleDateSelector dateChooser;
52 private SimpleTimeSelector timeChooser;
53 private Calendar calendar = new GregorianCalendar();
54
55
56
57
58 public DateTimeSelector()
59 {
60 super(new GridBagLayout());
61 createComponents();
62 }
63
64
65
66
67 protected void createComponents()
68 {
69 GridBagConstraints c = new GridBagConstraints();
70 c.weightx = 1.0;
71 c.weighty = 0.0;
72 c.fill = GridBagConstraints.HORIZONTAL;
73 c.gridx = 0;
74 c.insets = new Insets(4, 4, 4, 4);
75
76 c.gridy = 0;
77
78 dateChooser = new SimpleDateSelector();
79 add(dateChooser, c);
80
81 timeChooser = new SimpleTimeSelector();
82 c.gridy = 1;
83 add(timeChooser, c);
84 }
85
86
87
88
89
90
91
92
93
94 public Date getDate()
95 {
96 calendar.set(Calendar.SECOND, timeChooser.getSeconds());
97 calendar.set(Calendar.MINUTE, timeChooser.getMinute());
98 calendar.set(Calendar.HOUR_OF_DAY, timeChooser.getHour());
99 calendar.set(Calendar.YEAR, dateChooser.getYear());
100 calendar.set(Calendar.MONTH, dateChooser.getMonth());
101 calendar.set(Calendar.DAY_OF_MONTH, dateChooser.getDay());
102
103 return calendar.getTime();
104 }
105
106
107
108
109
110
111
112
113
114 public void setDate(Date date)
115 {
116 dateChooser.setDate(date);
117 timeChooser.setTime(date);
118 }
119
120
121
122
123
124
125
126 public void setEnabled(boolean how)
127 {
128 super.setEnabled(how);
129 dateChooser.setEnabled(how);
130 timeChooser.setEnabled(how);
131 }
132
133
134
135
136
137
138 public static void main(String[] args)
139 {
140 JDialog d = new JDialog();
141 DateTimeSelector dtc = new DateTimeSelector();
142
143 GridBagConstraints c = new GridBagConstraints();
144
145 c.fill = GridBagConstraints.BOTH;
146
147 d.getContentPane().setLayout(new GridBagLayout());
148 d.getContentPane().add(dtc, c);
149
150 d.setModal(true);
151 d.setVisible(true);
152 System.out.println(dtc.getDate().toString());
153 }
154 }
155
156