我正在使用JSpinner
创建时间选择器。 JSpinner
内的文字是可编辑的。但是我想将JSpinner
设置为不可编辑,因为有可能提供无效值。任何人都可以帮助我吗?
答案 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));
您可以探索其他微调器模型,并做与我猜想相同的技巧。