- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发誓这太奇怪了。我制作了一个 Spinner,使用具有当前日期、无限制和 Calendar.MINUTE 单位的新 SpinnerDateModel 设置模型。
正如文档中所说:
Creates a SpinnerDateModel that represents a sequence of dates between start and end. The nextValue and previousValue methods compute elements of the sequence by advancing or reversing the current date value by the calendarField time unit. The start and end parameters can be null to indicate that the range doesn't have an upper or lower bound.
这是我的代码:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.JFrame;
import javax.swing.JSpinner;
import javax.swing.JSpinner.DefaultEditor;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.text.DateFormatter;
import javax.swing.text.DefaultFormatterFactory;
public class JSpinnerTest {
public JSpinnerTest() {
initComponents();
}
private void initComponents() {
JFrame frame = new JFrame("JSpinner Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JSpinner spinner = new JSpinner();
spinner.setModel(new javax.swing.SpinnerDateModel(new Date(), null, null, Calendar.MINUTE));
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
((DefaultEditor) spinner.getEditor()).getTextField().setFormatterFactory(new DefaultFormatterFactory(new DateFormatter(format)));
System.out.println("ORIGINAL VALUE: " + spinner.getValue().toString());
spinner.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
System.out.println("VALUE: " + ((JSpinner) e.getSource()).getValue().toString());
}
});
frame.add(spinner);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new JSpinnerTest();
}
});
}
}
但每次我点击小箭头按钮时,日期都会重置为 1970 年 1 月 1 日。为什么?
示例输出:
原始值:2012 年 12 月 6 日星期四 17:06:13 ICT
值:1970 年 1 月 1 日星期四 17:06:00
值:1970 年 1 月 1 日星期四 17:06:00
值:1970 年 1 月 1 日星期四 18:06:00
最佳答案
您正在修改附加到 Spinner 的编辑器使用的日期格式。看起来当您使用 HH:mm 格式时,其余字段都用纪元初始化。如果您不更改日期编辑器使用的格式,它会按预期工作。
关于java - 带有 SpinnerDateModel 奇怪行为的 JSpinner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13741371/
这是我的 Datespinner 代码 //DateOfBirth{ DateOfBirth = new JLabel("Date Of Birth (MM/DD/YYYY): ");
我正在尝试创建一个小时和分钟的 JSpinner 编辑器。 JSpinner 很简单 JSpinner startSpinner = new JSpinner(); SpinnerWindowMode
我想将更改后的值与 spinnerdatemodel 的当前日期之间的差值作为计时器的延迟。这是 JSpinner: Calendar cal = Calendar.getInstance(); ca
我正在尝试创建一个 JSpinner 以使用户能够选择日期。我希望有一个日期下限和一个日期上限。我还希望初始值是日期下限。不幸的是,我的问题是它不允许我使用下限作为初始值(JSpinner 根本没有响
我目前正在使用带有 JSpinner 的 SpinnerDateModel 在我的 java swing 应用程序中设置时间。下面是我的代码: shiftTime = new JSpinner(new
我发誓这太奇怪了。我制作了一个 Spinner,使用具有当前日期、无限制和 Calendar.MINUTE 单位的新 SpinnerDateModel 设置模型。 正如文档中所说: Creates a
我认为我的问题有一个简单的解决方案,但我是 Java 编程新手,所以我无法自己解决它,我有一个用作时间选择器的 jSpinner。我需要的是将这个 jSpinner 的值传递给一个字符串。请帮我做这件
我正在创建一个员工假释系统,其中包括接受加入日期。 我正在使用 swings 在 java 中创建一个界面。我希望用户在日期中设置微调器的值,并且程序必须能够获取用户选择的年月日。 我的员工对象由我创
我正在创建带有标签和输入的 GUI 表单。每行都有一个标签,然后是一个输入。其中之一使用两个 JSpinners 进行输入(开始和结束时间)。一切都很好,组件都很好对齐,直到我将 SpinnerDat
我正在使用 Swing 开发 Java 应用程序来创建 GUI。我的 JSpinner 有问题,它应该允许用户从特定范围内以 HH:mm 格式选择时间。我创建了自定义 SpinnerDateModel
我是一名优秀的程序员,十分优秀!