17

我正在使用JSpinner. 里面的文字JSpinner是可编辑的。但我想将其设置JSpinner为不可编辑,因为有机会给出无效值。谁能帮我?

4

3 回答 3

28

尝试以下操作:

JSpinner spinner = ...;
((DefaultEditor) spinner.getEditor()).getTextField().setEditable(false);

只要您没有通过调用自己更改微调器编辑器,这应该可以工作spinner.setEditor(...)

告诉我们这是否有帮助。

于 2010-05-25T05:37:50.393 回答
13

短一点:

JSpinner spinner = new JSpinner();
spinner.setEditor(new JSpinner.DefaultEditor(spinner));
于 2012-10-18T15:42:46.577 回答
0

当我尝试这个时,仍然可以通过单击箭头来编辑微调器!– 耶利弗

您可以尝试将步长设置为 0:

mySpinner.setModel(new SpinnerNumberModel(yourDefaultDisplayValue, minValue, maxValue, step));

您可以探索其他微调器模型并执行我猜的相同技巧。

于 2018-10-11T07:44:58.743 回答