【发布时间】:2017-04-04 23:28:17
【问题描述】:
我对 java 编程很陌生,我创建了一个 java 程序,使用户能够使用 JFrame 上的 JSpinner 输入时间(HH:mm:ss 格式)。它是通过自定义 JSPinner 的代码来实现的(如下所示)。我要做的是获取用户输入的值(时间)并将其转换为显示在 JLabel 上的字符串。我尝试过使用状态更改事件,但仅适用于整数模型。
JSPinner 的自定义代码
Date date = new Date();
SpinnerDateModel sm = new SpinnerDateModel(date, null, null, Calendar.HOUR_OF_DAY);
time_spinner = new javax.swing.JSpinner(sm);
JSpinner.DateEditor te = new JSpinner.DateEditor(time_spinner, "HH:mm:ss");
time_spinner.setEditor(te);
getContentPane().add(time_spinner, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 50, 120, 30));
【问题讨论】:
-
JSpinner#getValue将返回一个Date值,表示微调器的“时间” - 基本概念在 How to use spinners 中演示 -
对于example
-
如何将接收到的值传递给 JLabel 或其他地方?我尝试在控制台上打印出来进行测试,但没有返回任何内容。我使用了您的示例对象 value = time_spinner.getValue().toString();和 if 语句,但删除了格式 HH:mm,并尝试使用 System.out.print(value) @MadProgrammer 将其打印出来
-
观察代码,我的似乎没有将值读取为日期的实例。而是执行了 else 条件。
-
由于我只有一个脱离上下文的sn-p代码,我无法进一步评论
标签: java swing netbeans jspinner