Java JButton.setBackground函数不';我不能正常工作

Java JButton.setBackground函数不';我不能正常工作,java,jbutton,setbackground,Java,Jbutton,Setbackground,这实际上是我的代码 JButton but = new JButton("="); but.setOpaque(true); if (but.getText() == "=") { but.setForeground(Color.WHITE); but.setBackground(Color.BLUE); but.addActionListener(listen); but.setPreferredSize(new Dimension(30, 30));

这实际上是我的代码

JButton but = new JButton("=");
but.setOpaque(true);
if (but.getText() == "=")
{
    but.setForeground(Color.WHITE);
    but.setBackground(Color.BLUE);
    but.addActionListener(listen);
    but.setPreferredSize(new Dimension(30, 30));
    numberZone.add(but);
}
设置前景功能正常,但不是设置背景。 我尝试使用setOpaque函数,但没有任何更改。 我使用的是MacOSX系统。我不知道这是否重要

感谢并为我的英语错误感到抱歉。

警告

切勿使用
=
来比较字符串,因为如果一个对象引用与另一个对象引用相同,则
=
会进行比较,这在大多数情况下都不会引起您的兴趣。在比较字符串时,您通常想知道这两个字符串是否具有相同顺序的相同字符。因此,使用
if(string1.equals(string2))
if-string1.equalsIgnoreCase(string2))

您也在检查字符串的文本,它看起来像是创作代码,而不是ActionListener或其他让我困惑的事件触发代码

给你

// in your ActionListener
public actionPerformed(ActionEvent e) {
   if ("=".equals(e.getActionCommand()))  {
       // here your Strings are ==
   }
}

关于函数相等,你是对的。我试过了,但是setBackground函数总是不起作用。@gillioa:显示更多代码和背景信息。要显示的最佳代码是。