JavaSwing创建时间选择器控件
时间: 2024-05-01 09:22:23 浏览: 12
Java Swing中提供了JDatePicker控件来创建日期选择器,但是它不支持时间选择器。如果需要创建时间选择器,可以使用JSpinner控件和SpinnerDateModel类来实现。
下面是一个简单的例子:
```java
import java.awt.FlowLayout;
import java.util.Calendar;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSpinner;
import javax.swing.SpinnerDateModel;
public class TimePickerExample {
public static void main(String[] args) {
JFrame frame = new JFrame("Time Picker Example");
frame.setLayout(new FlowLayout());
frame.setSize(300, 100);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Create a SpinnerDateModel with current time as default value
SpinnerDateModel model = new SpinnerDateModel(Calendar.getInstance().getTime(),
null, null, Calendar.HOUR_OF_DAY);
// Create a JSpinner with the SpinnerDateModel
JSpinner spinner = new JSpinner(model);
// Set the format of the displayed value
JSpinner.DateEditor editor = new JSpinner.DateEditor(spinner, "HH:mm:ss");
spinner.setEditor(editor);
// Add the spinner to the frame
frame.add(new JLabel("Select Time:"));
frame.add(spinner);
frame.setVisible(true);
}
}
```
在这个例子中,我们使用了FlowLayout布局管理器来排列控件。我们创建了一个SpinnerDateModel对象,并将当前时间设置为默认值。然后,我们使用SpinnerDateModel对象创建了一个JSpinner对象。我们还使用JSpinner.DateEditor类设置了显示值的格式。最后,我们将JSpinner添加到框架中并使其可见。
这个例子创建的时间选择器只允许选择小时、分钟和秒。如果需要选择其他时间单位,需要调整SpinnerDateModel对象的构造函数中的参数。