在JavaSwing中重置微调器值
我有C编程的知识,但我是一个Java程序员新手,我想问你一个问题。如果两个微调器的值都小于“1”,我会尝试将它们设置为null,但我做不到。我在等你的帮助,谢谢在JavaSwing中重置微调器值,java,swing,user-interface,spinner,jspinner,Java,Swing,User Interface,Spinner,Jspinner,我有C编程的知识,但我是一个Java程序员新手,我想问你一个问题。如果两个微调器的值都小于“1”,我会尝试将它们设置为null,但我做不到。我在等你的帮助,谢谢 Spinner spinnermin = new JSpinner(); spinnermin.addFocusListener(new FocusAdapter() { @Override public void focusLost(FocusEvent e) { val
Spinner spinnermin = new JSpinner();
spinnermin.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent e) {
valuemin =(Integer) spinnermin.getValue();
if(valuemin<0){
spinnermin.setValue(null);
}
}
});
spinnermin.setBounds(478, 215, 76, 20);
frame.getContentPane().add(spinnermin);
JSpinner spinnerhour = new JSpinner();
spinnerhour.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent e) {
valuehour = (Integer) spinnerhour.getValue();
if(valuehour<1){
spinnerhour.setValue(null);
}
}
});
spinnerhour.setBounds(362, 215, 86, 20);
frame.getContentPane().add(spinnerhour);
Spinner spinnermin=new JSpinner();
spinnermin.addFocusListener(新的FocusAdapter(){
@凌驾
公共无效焦点丢失(焦点事件e){
valuemin=(整数)spinnermin.getValue();
如果(valuemin您声明:
如果两个微调器的值都小于“1”,我会尝试将它们设置为null,但我做不到
最好使用不允许负值的SpinnerNumberModel。例如
JSpinner hourSpinner = new JSpinner(new SpinnerNumberModel(1, 1, 24, 1));
这将创建一个JSpinner,允许int值从1到24,并从1开始
将null分配给希望保存数值的组件是没有意义的,与其尝试这样做,不如限制用户输入不可接受值的能力。另外,请查看
作为附带建议,而空布局和setBounds()
可能会让新手喜欢创建复杂GUI的最简单和最好的方法,您创建的Swing GUI越多,在使用它们时会遇到更严重的困难。当GUI调整大小时,它们不会调整您的组件大小,它们是需要增强或维护的皇家巫婆,当放置在滚动窗格中时,它们会完全失败当在所有平台或屏幕分辨率与原来不同的情况下观看时,会感觉非常糟糕。谢谢你的回答,这确实帮助了我,我解决了这个问题,非常感谢:)@phantom:不客气。另外,请看一看。@Hovecraft-Full-Eels:oracledocs是我最喜欢的Java代码学校:)