繁体   English   中英

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

[英]How to enter a specific word in a textfield

我必须在下面的代码中添加什么,以便用户必须输入特定的单词(例如“ London”)才能打开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());
    }
}

你可以做这样的事情。

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

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


更新

如果输入的不是“伦敦”,则要显示错误消息,您可以执行以下操作。

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!");
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM