原来按钮是不可点击的,在文本框输入文本后,按钮变亮,可点击
就是一输入信息就变亮,不需要点任何键
要怎么实现
大神们帮帮忙

解决方案 »

  1.   

    final doc = jtextfield.getDocument();
    doc.addDocumentListener(new DocumentListener(){
        public void changedUpdate(DocumentEvent e){
            handler();
        }
        public void insertUpdate(DocumentEvent e){
            handler();
        }
        public void removeUpdate(DocumentEvent e){
            handler();
        }
        private void handler(){
             jbutton.setEnabled(doc.getLength() > 0);
        }
    });
      

  2.   

    TextListener -> textValueChanged()方法
      

  3.   

    下载betterbeansbinding-1.3.0-all.jar
    import org.jdesktop.beansbinding.BeanProperty;
    import org.jdesktop.beansbinding.ELProperty;
    import static org.jdesktop.beansbinding.Bindings.createAutoBinding;
    import static org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ;import javax.swing.JFrame;
    import javax.swing.JTextField;
    import javax.swing.JButton;
    import javax.swing.Box;public class Rocks {
        public static void main(final java.lang.String[] args) throws Exception {
            java.awt.EventQueue.invokeLater(new java.lang.Runnable(){
                    @Override public void run(){
                        JFrame frame = new JFrame("Java Rocks");
                        JTextField input = new JTextField(10);
                        JButton button = new JButton("Click!");
                        button.setEnabled(false);
                        createAutoBinding(READ,
                                          input,ELProperty.create("${text != \"\"}"),
                                          button,BeanProperty.create("enabled")).bind();
                        Box container = Box.createHorizontalBox();
                        container.add(input);
                        container.add(button);
                        frame.add(container);
                        frame.pack();
                        frame.setLocationRelativeTo(null);
                        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                        frame.setVisible(true);
                    }
                });
        }
    }
      

  4.   


    找不到这个方法啊。。我用的是netbeans
      

  5.   

    TextListener 是 AWT 的文本组件使用的监听器