Frame.getContentPane()。setBackground(Color.black)没有

时间:2014-06-05 18:29:41

标签: java swing colors jframe jpanel

我已经按照无数其他教程的建议来改变JFrame的背景颜色,但我没有运气。这是我的初始化和创建框架的代码

package frameTests;

import javax.swing.*;

import java.awt.*;


@SuppressWarnings("serial")
public class Foo extends JPanel {

public static void frameInit(Foo foobar){
    // window initialization
    JFrame frame = new JFrame("Spaceship Defenders!");
    frame.add(foobar);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
    frame.getContentPane().setBackground(Color.black);
    frame.setSize(500,500);
    frame.setVisible(true);
    frame.setLocationRelativeTo(null);// center frame in screen.
}




public static void main(String[] args) throws InterruptedException{

    Foo bar = new Foo();
    frameInit(bar);

    }
}

And here's the resulting Frame, with the default grey background

1 个答案:

答案 0 :(得分:5)

您的小组foobar正在隐藏ContentPane。使面板透明或将面板本身的颜色设置为BLACK

foobar.setOpaque(false);