0

我有一个任务,我必须创建一个按钮,单击它,然后根据随机结果显示随机图片。但是,当我尝试创建一个 if 语句来显示随机结果时,我无法让按钮与字符串匹配。例如

if (button1 == "results"){
// display image
}

到目前为止,这是我的面板代码。导入 java.awt。; 导入 javax.swing。; 导入 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());
        }
}
}

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

谢谢你的帮助。

4

2 回答 2

0

必须使用等于而不是 == 来比较字符串

如果 (string1.equals(string2))

于 2013-09-28T17:54:06.883 回答
0

试试String.equals

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

if (button1.getText().toString().equals("results")) { }
于 2013-09-28T17:55:05.493 回答