Tar*_*riq 10 java swing jtextfield
JTextField.setEnabled()和之间有什么区别JTextField.setEditable()?在我的代码中,我有一个继承自的类的实例JTextField.但是当我设置它的属性时,setEnabled(false)我仍然可以在我的程序中编辑和处理它的内容.但是,当我设置其属性时,setEditable(false)我无法再编辑其文本.如果是这样的话.那么setEnabled()物业的目的是什么?
继承类的我的代码是:
private static class CCField extends JTextField{
private static final long serialVersionUID = 1L;
public CCField() {
this( DEFAULT_COLUMN_COUNT );
}
public CCField(final int cols) {
super( cols );
}
Run Code Online (Sandbox Code Playgroud)
添加INFO
当我调用setEnabled()此类的属性时,它不会对文本字段显示任何影响,它仍然保持启用状态.Jcomponent我的代码中有一个容器,它将此CCField作为子组件.因此,当我尝试使用setEnabled(false)它仍然可以编辑时禁用它.而当我尝试使用setEditable(false)它时禁用它然后它被禁用.这是我在容器中访问此textField的方式:
JComponent jComp = DDEUtil.getComponent(icTableLayout,icDS);
((JTextField)jComp.getComponent(1)).setEditable(false);
Run Code Online (Sandbox Code Playgroud)
正在发生的事情DDEUtil.getComponent太复杂了,因为它涉及许多课程而且不可能在这里发布.
我想我没有覆盖这个组件的任何方法,所以为什么它显示这种行为.
rav*_*l91 25
在我的情况下setEditable(false)是灰场,而setEnabled(false)不是灰场.
默认情况下,TextField是可编辑的.代码setEditable(false)使TextField不可编辑.它仍然是可选的,用户可以从中复制数据,但用户无法直接更改TextField的内容.
代码setEnabled(false)禁用此TextField.它不可选,用户无法从中复制数据,用户无法直接更改TextField的内容.
有用的链接
| 归档时间: |
|
| 查看次数: |
69492 次 |
| 最近记录: |