【问题标题】:enable a jcombobox without pressing enter无需按 Enter 即可启用 jcombobox
【发布时间】:2016-03-06 20:48:35
【问题描述】:

我在 netbeans 中使用 java swing。

我有一个文本字段。我希望只有在文本字段中写入的文本大于一个时才会启用组合框。 如果我按回车键,我的代码就可以工作。但我想通过在文本字段中写入来使其工作。我该怎么做?

 private void nmrintervTXTActionPerformed(java.awt.event.ActionEvent evt) {                                             
    String text = this.nmrintervTXT.getText();
    System.out.println(text);
    if (!text.isEmpty()) {
        if (Integer.parseInt(text) > 1) {
            this.evidenceOtherApplicantsTXT.setEnabled(true);
        }
    }
}       

【问题讨论】:

标签: java swing netbeans jtextfield enter


【解决方案1】:

请参阅addCaretListener API。

textfield.addCaretListener(new CaretListener() {
    @Override
    public void caretUpdate(CaretEvent e) {
        System.out.println("caretUpdate with new text: "+textfield.getText());
    }
});

【讨论】:

    【解决方案2】:

    类 MyDocumentListener 实现 DocumentListener {

        @Override
        public void insertUpdate(javax.swing.event.DocumentEvent e) {
            update(e);
        }
    
        @Override
        public void removeUpdate(javax.swing.event.DocumentEvent e) {
            update(e);
        }
    
        @Override
        public void changedUpdate(javax.swing.event.DocumentEvent e) {
        }
    
        public void update(javax.swing.event.DocumentEvent e) {
            String text = nmrintervTXT.getText();
            try {
                evidenceOtherApplicantsTXT.setEnabled(Integer.parseInt(text) > 1);
            } catch (NumberFormatException nfe) {
                evidenceOtherApplicantsTXT.setEnabled(false);
            }
        }
    }
    
    public MyClass() {
        initComponents();
    }
    
    @SuppressWarnings("unchecked")
        nmrintervTXT = new javax.swing.JTextField();
    
        nmrintervTXT.getDocument().addDocumentListener(new MyDocumentListener());
    

    我认为参数 e 在 MyDocumentListener 中更新时出错。

    【讨论】:

      猜你喜欢
      • 2013-12-15
      • 2015-02-04
      • 1970-01-01
      • 2013-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多