如何在文本字段中输入特定单词

时间:2017-02-23 17:01:09

标签: java swing

我需要添加到下面的代码中,以便用户输入特定的单词,即"伦敦"打开JOptionPane输入对话框。

JFrame frame = new JFrame("JTextField"); 
JTextField textfield = new JTextField(30); 
frame.add(textfield);

目前我可以在文本字段中输入任何内容,然后会出现对话框。我只希望它在用户输入特定单词时打开。

我正在使用带有动作侦听器的动作事件并执行操作来打开JOptionPane对话框。

public class Test9 {    
    public static void main(String[] args) {
        JFrame frame = new JFrame("JTextField");
        JTextField textfield = new JTextField(30);
        frame.add(textfield);

        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(500,200);
        JPanel panel = new JPanel();
        frame.add(panel);
        panel.add(textfield);

        textfield.addActionListener(new Action4());
    }
}

1 个答案:

答案 0 :(得分:3)

你可以这样做。

if(museum_name.equals("London")){
    JOptionPane.showMessageDialog(null, "  You are attending the  " + museum_name);
} else{
    // show the error message
}

鼓励使用equals()方法进行字符串比较。请注意,equals()用于比较两个字符串是否相等,而operator ==则比较java中对象的引用。

<强>更新

如果输入不是&#34; London&#34;要显示错误消息,您可以执行以下操作。

static class Action4 implements ActionListener {
    @Override
    public void actionPerformed(java.awt.event.ActionEvent e) {
        String museum_name = ((JTextField) e.getSource()).getText();
        if (museum_name.equals("London")) {
            JOptionPane.showMessageDialog(null, "You are attending the " + museum_name);
        } else {
            JOptionPane.showMessageDialog(null, "Wrong input!");
        }
    }
}