我有一个任务,我必须创建一个按钮,单击它,然后根据随机结果显示随机图片。但是,当我尝试创建一个if语句来显示随机结果时,我无法获得与字符串匹配的按钮。例如
if (button1 == "results"){
// display image
}
到目前为止,这是我的面板代码。 import java.awt。; import javax.swing。; import java.awt.event。*;
public class myJPanel6 extends JPanel implements ActionListener
{
myJButton b1,b2;
JLabel b3;
public myJPanel6()
{
// setSize(260,260);
ImageIcon imageFred = new ImageIcon("images/fred.gif");
ImageIcon imageCar = new ImageIcon("images/Magnum.JPG");
ImageIcon imageMaldives = new ImageIcon("image/maldives.jpg");
setLayout(new GridLayout(1,1));
//=====================================
student st1 = new student("Michael", "Robinson", 20);
//=====================================
b1 = new myJButton(st1.getName());
b1.addActionListener(this);
add(b1);
//=====================================
b2 = new myJButton(st1.WhatIsUp());
b2.addActionListener(this);
add(b2);
if (st1.WhatIsUp() == "reading"){
b2.setIcon(imageFred);
} else if (st1.WhatIsUp() == "talking") {
b2.setIcon(imageCar);
} else if (st1.WhatIsUp() == "interacting") {
b2.setIcon(imageMaldives);
}
//b3 = new JLabel(".....");
// add(b3);
}
public void actionPerformed(ActionEvent event)
{
Object obj = event.getSource();
//=====================================
if (obj == b1){{b2.setText(b2.getText());}
} else {
b2.setText(b2.getText());
}
}
}
我遇到的主要问题是代码只显示图像有时。此外,我认为每次用户点击都会输出一个新结果,但我每次都会显示相同的随机结果。
感谢您的帮助。
答案 0 :(得分:0)
必须使用equals而不是==
来比较字符串if(string1.equals(string2))
答案 1 :(得分:0)
尝试String.equals
。
此外,如果它是一个Button视图,你需要调用getText(),所以:
if (button1.getText().toString().equals("results")) { }