将侦听器更改为JTextField

将侦听器更改为JTextField

我希望消息框在用户更改文本字段中的值后立即出现。目前,我需要按回车键使消息框弹出。我的密码有什么问题吗?

textField.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent e) {

        if (Integer.parseInt(textField.getText())<=0){
            JOptionPane.showMessageDialog(null,
                    "Error: Please enter number bigger than 0", "Error Message",
                    JOptionPane.ERROR_MESSAGE);
        }       
    }}

任何帮助都将不胜感激!


GCT1015
浏览 700回答 3
3回答

慕婉清6462132

将侦听器添加到基础文档中,该文档将自动为您创建。//&nbsp;Listen&nbsp;for&nbsp;changes&nbsp;in&nbsp;the&nbsp;texttextField.getDocument().addDocumentListener(new&nbsp;DocumentListener()&nbsp;{ &nbsp;&nbsp;public&nbsp;void&nbsp;changedUpdate(DocumentEvent&nbsp;e)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;warn(); &nbsp;&nbsp;} &nbsp;&nbsp;public&nbsp;void&nbsp;removeUpdate(DocumentEvent&nbsp;e)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;warn(); &nbsp;&nbsp;} &nbsp;&nbsp;public&nbsp;void&nbsp;insertUpdate(DocumentEvent&nbsp;e)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;warn(); &nbsp;&nbsp;} &nbsp;&nbsp;public&nbsp;void&nbsp;warn()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Integer.parseInt(textField.getText())<=0){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JOptionPane.showMessageDialog(null, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Error:&nbsp;Please&nbsp;enter&nbsp;number&nbsp;bigger&nbsp;than&nbsp;0",&nbsp;"Error&nbsp;Message", &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JOptionPane.ERROR_MESSAGE); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;}});
打开App,查看更多内容
随时随地看视频慕课网APP