:),刚才给你说错了。
JSpinner.DefaultEditor s_edit = (JSpinner.DefaultEditor)jSpinner1.getEditor();
s_edit.getTextField().setEditable(false);这样就可以了。

解决方案 »

  1.   

    2、如何获得JSpinner中用户的输入值呢?
    (Integer)(jSpinner1.getValue()),这样好象可以,不知是否是最佳方式。
    3、如何设置JSpinner的值为0呢?我用了这样,结果不行:
    jSpinner1.setValue()总会出错
      

  2.   

    1、怎么控制JSpinner中的编辑框只能输入整数或0-9之间的数字,而不让输入字符或其它符号?各位高手应该怎么做呢?
        SpinnerModel model = new SpinnerNumberModel(0, 0, 100, 1);
                                                    第一个0表示初始值为0
                                                    第二个0表示最小值为0
                                                    100表示最大值为100,
                                                    1表示步长为1,每次加一或者减一,用户可以输入0到100的整数
        jSpinner1 = new JSpinner(model);
    我这样做控制了不能为负数了,但是还可以人工输入,怎么解决呢?
        用户虽然可以输入负数,但光标退出后或者回车后会自动恢复正确的值
    2、如何获得JSpinner中用户的输入值呢?这样行不行?
    int value = ((Integer)(jSpinner1.getValue())).intValue();
    3、如何设置JSpinner的值为0呢?我用了这样,结果不行:
    jSpinner1.setValue(new Integer(0));
      

  3.   

    zhang21cnboy(事了抚衣去,不留身与名):
    你的方法只是限制了JSpinner的编辑框不可编辑,而我想实现让它可以编辑,就是不让它只能输入0-9之间的数字,不能输入其它字符,这样怎么办呢?
      

  4.   

    Acylas(Acylas):
    用户虽然可以输入负数,但光标退出后或者回车后会自动恢复正确的值有没有办法限制根本就不让他输入其它字符,只能输入0-9之间的数字。
      

  5.   

    ((JSpinner.DefaultEditor)jSpinner1.getEditor()).getTextField().setDocument(new JNumberDocument());我是这样做的,JNumberDocument()是我定义的一个限制只能输入0-9之间数字的类。jTextField2.setDocument(new JNumberDocument());
    这样肯定没问题但是用在JSpinner上就不行了,还有别的方法吗?
      

  6.   

    SpinnerModel model = new SpinnerNumberModel(0, 0, 9, 1);
                                                    
        jSpinner1 = new JSpinner(model);
    这就只能是0到9