gpt4 book ai didi

java - 如何设置 jSpinner 默认值?

转载 作者:行者123 更新时间:2023-11-29 05:06:58 27 4
gpt4 key购买 nike

我正在使用 jSpinner 设置格式为“HH:MM”的时间,它工作正常。

我的问题是我想在激活窗口时将我的 jSpinner 设置为“00:00”,一旦单击 jSpinner,我希望将值更改为“HH:MM”格式。而且我自己做不到,jSpinner 值没有改变,它仍然是“00:00”。请帮我。提前谢谢你。

最佳答案

假设您正在使用 SpinnerDateModel,那么 JSpinner 管理的值是 java.util.Date。您需要创建一个 Date 实例,它的小时/分钟字段设置为午夜

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);

Date date = cal.getTime();
spinner.setValue(date);

要从 JSpinner 获取值的格式,您可以使用 SimpleDateFormat

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String value = sdf.format(spinner.getValue());

but how can I set it with "00:00" when the window is activated

在没有更多信息的情况下,我建议使用某种类型的 WindowListener,假设您不是每次都创建窗口。

看看How to Write a Focus ListenerHow to Write Window Listeners

And changed the value once clicked?

这有点不清楚,但您应该在需要知道它是什么并根据您的需要设置格式时从 JSpinner 获取值。当值更新时,JSpinner 应该负责自动格式化值(根据您的设置)。

话虽如此,我确实需要在设置模型时将“开始”(或最低值)设置为null,这似乎允许微调器更新时间值

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);

Date startTime = cal.getTime();
cal.set(Calendar.HOUR, 23);
cal.set(Calendar.MINUTE, 59);
Date endTime = cal.getTime();

System.out.println(startTime);
System.out.println(endTime);

// The Calendar field seems to get ignored and overriden
// by the UI delegate based on what part of the field
// the cursor is current on (hour or minute)
SpinnerDateModel model = new SpinnerDateModel(startTime, null, endTime, Calendar.MINUTE);
JSpinner spinner = new JSpinner(model);
spinner.setEditor(new JSpinner.DateEditor(spinner, "HH:mm"));

spinner.setValue(startTime);

关于java - 如何设置 jSpinner 默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30093154/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com