【发布时间】:2011-02-23 12:45:23
【问题描述】:
我正在使用JSpinner 创建时间选择器。 JSpinner 中的文本是可编辑的。但我想将JSpinner 设置为不可编辑,因为有机会给出无效值。谁能帮帮我?
【问题讨论】:
-
您能否评论 jfpoilpret 的回答是否有帮助?如果是的话,接受它是正确的吗?
我正在使用JSpinner 创建时间选择器。 JSpinner 中的文本是可编辑的。但我想将JSpinner 设置为不可编辑,因为有机会给出无效值。谁能帮帮我?
【问题讨论】:
尝试以下方法:
JSpinner spinner = ...;
((DefaultEditor) spinner.getEditor()).getTextField().setEditable(false);
只要您没有通过调用 spinner.setEditor(...) 自己更改微调器编辑器,这应该可以工作。
告诉我们这是否有帮助。
【讨论】:
短一点:
JSpinner spinner = new JSpinner();
spinner.setEditor(new JSpinner.DefaultEditor(spinner));
【讨论】:
当我尝试这个时,仍然可以通过单击箭头来编辑微调器! – 耶利弗
您可以尝试将步长设置为 0:
mySpinner.setModel(new SpinnerNumberModel(yourDefaultDisplayValue,
minValue, maxValue, step));
您可以探索其他微调器模型并使用我猜的相同技巧。
【讨论】: