使用if语句中的按钮

时间:2013-09-28 17:49:48

标签: java

我有一个任务,我必须创建一个按钮,单击它,然后根据随机结果显示随机图片。但是,当我尝试创建一个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());
        }
}
}

我遇到的主要问题是代码只显示图像有时。此外,我认为每次用户点击都会输出一个新结果,但我每次都会显示相同的随机结果。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

必须使用equals而不是==

来比较字符串

if(string1.equals(string2))

答案 1 :(得分:0)

尝试String.equals

此外,如果它是一个Button视图,你需要调用getText(),所以:

if (button1.getText().toString().equals("results")) { }