如何将JSpinner设置为不可编辑?

时间:2010-05-25 04:54:52

标签: java swing jspinner

我正在使用JSpinner创建时间选择器。 JSpinner内的文字是可编辑的。但是我想将JSpinner设置为不可编辑,因为有可能提供无效值。任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:28)

尝试以下方法:

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

只要您没有通过调用spinner.setEditor(...)自行更改微调器编辑器,这就应该有效。

告诉我们这是否有帮助。

答案 1 :(得分:13)

稍短一些:

JSpinner spinner = new JSpinner();
spinner.setEditor(new JSpinner.DefaultEditor(spinner));

答案 2 :(得分:0)

  

尝试此操作时,仍然可以通过单击箭头来编辑微调器! – yelliver

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

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

您可以探索其他微调器模型,并做与我猜想相同的技巧。