当我尝试使 JSpinner 无法通过键盘或鼠标编辑时,如下所示:
((DefaultEditor) mySpinner.getEditor()).getTextField().setEditable(false);
mySpinner.setEnabled(false);
它会禁用任何键盘输入和粘贴,但我仍然可以单击向上/向下按钮并更改值。
如何禁用向上/向下按钮?
如果微调器使用 JSpinner.DefaultEditor 或其子类,则以下代码有效(键盘导航禁用,微调器按钮不起作用,但可以选择并复制微调器中显示的值)。
JSpinner component = ...;
component.setEnabled( false );
if ( component.getEditor() instanceof JSpinner.DefaultEditor ) {
JSpinner.DefaultEditor editor = ( JSpinner.DefaultEditor ) component.getEditor();
editor.getTextField().setEnabled( true );
editor.getTextField().setEditable( false );
}
如果微调器具有除 JTextComponent 以外的自定义编辑器,则可能仍然可以使用相同的方法(禁用微调器,重新启用微调器编辑器使用的实际组件,使用其组件将该组件标记为只读)应用程序编程接口)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)