Java如何创建带有小时值的JSpinner组件?
本示例说明如何创建JSpinner允许您选择小时值的。作为微调器模型,我们使用SpinnerDateModel并将日历字段设置为Calendar.HOUR_OF_DAY。
在微调器上正确显示小时值,我们还将微调器的文本字段的格式设置更改为SimpleDateFormatter。
package org.nhooo.example.swing;
import javax.swing.*;
import javax.swing.text.DefaultFormatterFactory;
import javax.swing.text.DateFormatter;
import java.awt.*;
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class JSpinnerHour extends JFrame {
public JSpinnerHour() {
initializeUI();
}
private void initializeUI() {
setSize(200, 200);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
//以下微调器模型会将当前日期作为其日期
//值,并将一天中的小时作为日历字段。开始
//最终可比值具有null值,这意味着它不会
//具有最小值或最大值。
SpinnerDateModel model = new SpinnerDateModel(new Date(), null,
null, Calendar.HOUR_OF_DAY);
JSpinner spinner = new JSpinner(model);
//重新调整微调器的显示,使其仅显示小时
//和分钟信息部分。
JFormattedTextField textField = ((JSpinner.DefaultEditor) spinner.getEditor()).getTextField();
DefaultFormatterFactory dff = (DefaultFormatterFactory) textField.getFormatterFactory();
DateFormatter formatter = (DateFormatter) dff.getDefaultFormatter();
formatter.setFormat(new SimpleDateFormat("hh:mm a"));
getContentPane().add(spinner, BorderLayout.NORTH);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new JSpinnerHour().setVisible(true);
}
});
}
}
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短