当我将JButton设置为黑色时,为什么我的JButton背景会变白?

时间:2017-11-30 01:50:23

标签: java eclipse swing

我一直在youtube上关注如何创建基于文本的冒险游戏tutorial。我一直在按照教程进行操作,但不幸的是,我似乎无法找到解决问题的方法。

这是我的代码块(我已将其缩小到JPanel / JButton部分):

public Game() {
    window = new JFrame();
    window.setSize(800, 600);
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    window.getContentPane().setBackground(Color.black);
    window.setLayout(null);

    con = window.getContentPane();

    // button panel
    buttonPanel = new JPanel();
    buttonPanel.setBounds(300, 400, 200, 100);
    buttonPanel.setBackground(Color.black);

    //start button 
    pushButton = new JButton("START");
    pushButton.setBackground(Color.black);
    pushButton.setForeground(Color.white);
    pushButton.setFont(normalFont);
    pushButton.setFocusPainted(false);

    buttonPanel.add(pushButton);    

    con.add(buttonPanel);

    window.setVisible(true);
}

这是我按钮的外观照片: Unclicked Clicked

我尝试过的一些解决方案包括添加以下内容,包括组合订单和不同订单:

    pushButton.setContentAreaFilled(false);
    pushButton.setOpaque(true);
    pushButton.setOpaque(false);
    pushButton.setFocusable(true);

一起:

    pushButton.getBackground();
    pushButton.setBackground(Color.BLACK);

但到目前为止,它们都没有工作或得到我想要的结果 - 这是一个带有黑色背景和白色文本的按钮。

*我一直在通过Stackoverflow和其他网站搜索答案,但到目前为止,似乎没有其他人遇到与我所拥有的问题类似的问题。 **我不确定我使用Eclipse的操作系统是否有所作为。

如果需要提供更多信息,请告诉我们!提前谢谢大家。

1 个答案:

答案 0 :(得分:0)

首先使用setOpaque(true)。

 btn = new JButton();
 btn.setOpaque(true);
 btn.setBackground(backgroundColor);