更改JButton的背景颜色始终显示为灰色 [英] Changing the background color of JButton always shows as grey

查看:436
本文介绍了更改JButton的背景颜色始终显示为灰色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在制作一个GUI界面,并尝试使用以下代码更改窗口的背景和前景色:

I am making a GUI interface and I am trying to change the background and foreground color of my windows with the following code:

  import java.awt.Color;
  import java.awt.Component;
  import java.awt.Container;

  import javax.swing.JButton;
  import javax.swing.JFrame;
  import javax.swing.JPanel;

  public class Test
  {

public static void changeColor(String typeOfColor, Component component, Color color)
{
    if (typeOfColor.equals("Background"))
    {
        component.setBackground(color);
    }
    else if (typeOfColor.equals("Foreground"))
    {
        component.setForeground(color);
    }

    if (component instanceof Container)
    {
        for (Component child : ((Container) component).getComponents())
        {
            changeColor(typeOfColor, child, color);
        }
    }
}

public static void main(String[] args)
{
    JPanel panel = new JPanel();
    JButton cancelButton = new JButton("Cancel");
    panel.add(cancelButton);

    changeColor("Background", panel, new Color(0, 255, 0));

    JFrame frame = new JFrame("Frame");

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setContentPane(panel);
    frame.setVisible(true);
    frame.pack();
}
}

但是,无论我选择什么颜色,按钮仍然将背景颜色显示为灰色.如何正确更改背景颜色?我环顾四周,大多数答案都提到了setBackground方法,但这对我不起作用.

However, no matter what is the color I choose, the buttons still display the background color as grey. How do I change the background color properly? I have looked around and most answers mention the setBackground method, but that does not work for me.

提前谢谢!

推荐答案

尼古拉斯·史密斯(Nicholas Smith)解决了我的问题.

Nicholas Smith solved my issue.

他在评论中提到:它可能是您特定LookAndFeel中JButton的背景颜色,不能被覆盖."

In the comments, he mentioned "It could be the background color for a JButton in your specific LookAndFeel can't be overridden."

我在代码中设置外观,一旦删除了代码的那部分,按钮的背景颜色就成功更改了.

I was setting the look and feel in my code and once I removed that part of the code, my buttons' background color was changed successfully.

谢谢你!

这篇关于更改JButton的背景颜色始终显示为灰色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆