gpt4 book ai didi

java - 当使用四位小数的初始值时,带有 SpinnerNumberModel 的 JSpinner 会卡住

转载 作者:行者123 更新时间:2023-11-30 08:21:48 25 4
gpt4 key购买 nike

如果我运行以下起始值为 Java 微调器示例

double v = 3.146;

微调器上的向上/向下箭头按预期工作。但是,如果我使用起始值

double v = 3.1466;

箭头按钮似乎不再起作用。

据我所知,这与将显示值四舍五入到小数点后三位有关,在后一种情况下,结果值为 3.147,当然超出了微调器的范围。但是,我的原始值显然没有超出指定的最大值。

有没有办法确保只要我的初始值在 [min,max] 范围内,微调按钮就可以按预期工作?

public class spinner_test {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame f = new JFrame("Frame");

double v = 3.1466; // Makes the spinner buttons non functional
// double v = 3.146; // Work OK
SpinnerNumberModel m = new SpinnerNumberModel(v, 0, v, 0.005);
JSpinner s = new JSpinner(m);

f.add(s);
f.setVisible(true);
f.pack();
}
});
}
}

最佳答案

为微调器设置自定义编辑器以显示 4 位小数:

JSpinner.NumberEditor numberEditor = new JSpinner.NumberEditor(s,"0.0000");
s.setEditor(numberEditor);

关于java - 当使用四位小数的初始值时,带有 SpinnerNumberModel 的 JSpinner 会卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24915030/

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