2013-09-28 163 views
0

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

字符串必须使用equals进行比较,而不是==

如果(string1.equals(字符串2))

0

尝试String.equals

此外,如果它是一个按钮来查看你需要调用的getText(),所以:

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