public boolean isEditable()Returns the boolean indicating whether this TextComponent is editable or not. 
public void setEditable(boolean b)Sets the specified boolean to indicate whether or not this TextComponent should be editable. A PropertyChange event ("editable") is fired when the state is changed.

解决方案 »

  1.   

    我查了帮助,jtextfield类里好像没有setEditable(boolean b)这个函数呀?
      

  2.   

    我有一个JTextField对象jTextArea4,jTextArea4.setEditable(false);
    我运行后还是可以在里面写!!??
    我现在构想的操作是,一个dialog里有四个JTextField对象,其中jTextArea4的状态由其他几个JTextField决定,如果其他的JTextField不符合条件,则灰化jTextArea4,就是说这种情况下,鼠标点击jTextArea4,不会在里面出现光标。只有当满足条件了,才允许在里面进行操作。该如何解决?
      

  3.   

    boolean isEnabled()
    用来判断该控件是否被激活。被激活组件能对用户的输入及产生的事件做出反应。组件在默认状态下初始化为激活状态。组件可以用setEnabled方法来设置是否被激活。
    返回值:组件处于激活状态 返回true,否则返回false该方法继承于JTextField的父类java.awt.Component
      

  4.   

    jTextField.setEditable(false);
    不可编辑。
    然后get到Frame的颜色,在set到jTextField
    这样就灰了。
      

  5.   

    那然后如果本对话框内其他jTextField值改变而符合条件,我想在不点任何按钮的情况下,激活jTextField4,就是说其他jTextField改变后jTextField4立即就可以填内容了,怎么办?
      

  6.   

    要对jtextfield1的内容变化进行监听以决定jtextfield4的可用状态:对jtextfield1的document对象添加一个自己扩展的DocumentListener,在扩展类中实现判断逻辑jTextField1.getDocument().addDocumentListener(new UsernameDocumentListener());class UsernameDocumentListener
          implements DocumentListener {
        public void changedUpdate(DocumentEvent e) { //implements DocumentListener
          checkState();
        }    public void insertUpdate(DocumentEvent e) { //implements DocumentListener
          checkState();
        }    public void removeUpdate(DocumentEvent e) { //implements DocumentListener
          checkState();
        }    private void checkState() {
          if (jTextField1.getText() == null ||
              jTextField1.getText().length() == 0 ||
              jTextField1.getText().trim().equals(""))
            jTextField4.setEnabled(false);
          else
            jTextField4.setEnabled(true);
        }
      }
      

  7.   

    我编的程序packege名字是seqanalysis,我加了楼上语句,编译后有三个错误
    1.Class DocumentListener not found in class seqanalysisUsernameDocumentListener
    2.constructor UsernameDocumentListener() not found in class seqanalysisUsernameDocumentListener
    3.Method addDocumentListener(seqanalysisUsernameDocumentListener) not found in interface javax.swing.text.Document
    忘指教。
      

  8.   

    我import javax.swing.event.*;以后编译问题解决了。但当我运行以后在jTextField1操作时抛出一个在checkstate()处的Nullpointer exception?
      

  9.   

    UsernameDocumentListener应该作为一个内部类,而jTextField1和jTextField4都是包含这个内部类的public类的成员,并且保证在checkState()被调用之前已经正确初始化。