产品详情页面:关于Java JTextField的问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 16:17:55
帮我看看这段代码,为什么在jtf 中输入"1" 不显示 "错误"
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TestGUI extends JFrame implements ActionListener
{
JFrame jf ;
JTextField jtf ;
JTextArea jta ;
JButton jb;

TestGUI()
{
jf = new JFrame();
jtf = new JTextField("为什么",12);
jta = new JTextArea("不为什么",4,12);
jb = new JButton("也许");
jb.addActionListener(this);
jf.getContentPane().add(jtf,"North");
jf.getContentPane().add(jta,"Center");
jf.getContentPane().add(jb,"South");
jf.setVisible(true);
jf.setSize(400,400);
}

public void actionPerformed(ActionEvent ae)
{
if(ae.getSource() == jb)
{
String jta1 = jta.getText();
if(jta1 == "1")
{
System.out.print("错误");
}
else
{
jtf.setText(jta1);
}

}
}
public static void main(String [] args)
{
new TestGUI();
}

}

if(jta1 == \"1\")
改成
if(\"1\".equals(jta1))
对于对象来说
==比较的是内存中的地址并非他们本身的值
由于String覆写了Object类的equals方法,因此用equals能得到你想要的结果