先理解下你的代码:
----------------------------存在的问题-----------------------------------------
JTextField text1 = new JTextField("");
String s1=text1.getText(); //此时s1的字符串就是“”
if(s1.equals("111"))//你试图让字符串""和字符串"111"比较。当然是false了
所以s1要在点击按钮的时候在取得。你要写死了。他就只取得一次。就是最开始赋值的时候,他取得了一次text1的值。无论你后来如何修改text1的值。对于s1来说没用。
---------------------------------------------------------------------------------
修改建议:1:去掉button1外面的if判断。
2:把if判断写到button1动作监听里面,并在判断前取得一次text1的值给予s1
----------------------------------修改-----------------------------------------
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String s1 = text1.getText();
if (s1.equals("111")){
JOptionPane.showMessageDialog(button1, "ok");
}
}
});
JTextField text1 = new JTextField()干嘛还加“”;默认已经是空了,你再怎么填都false
你的text1 = new JTextField(""); 所以si都是"" ,不管怎么比较都是false啊,