背景颜色问题

时间:2012-07-03 18:38:02

标签: java swing background jframe

有人可以帮我解释为什么没有设置框架的背景颜色。是否可以在Paint()中设置背景颜色,或者必须在JColor构造函数中设置

我应该为BG颜色做以下事情 -

编写一个GUI应用程序,显示单个JButton和您选择的任何背景颜色。

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;

/**
 *
 * @author Curtis
 */
public class JColor extends JFrame implements ActionListener
{
Font myFont = new Font("Playbill", Font.PLAIN, 28);
JButton myButton = new JButton("Click Me!");
Color bgColor = new Color(255, 97, 3);
Color txtColor = new Color(0, 0, 205);
String firstName = "Curtis";
String lastName = "Sizemore";

public JColor()
        {
            super("String Painting Fun");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setLayout (new BorderLayout());
            add(myButton, BorderLayout.SOUTH);
            setDefaultLookAndFeelDecorated(true);
            setBackground(Color.BLUE);
        }

@Override
public void paint(Graphics e)
{
    super.paint(e);
}

public static void main(String[] args) 
{
    final int TALL = 200;
    final int WIDE = 250;
    JColor frame = new JColor();
    frame.setSize(WIDE, TALL);

    frame.setVisible(true);
}

@Override
public void actionPerformed(ActionEvent e) 
{
    throw new UnsupportedOperationException("Not supported yet.");
}
}

1 个答案:

答案 0 :(得分:4)

尝试在ContentPane个实例(更多信息here

上调用它
public JColor() {
    super("String Painting Fun");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLayout(new BorderLayout());
    add(myButton, BorderLayout.SOUTH);
    setDefaultLookAndFeelDecorated(true);
    getContentPane().setBackground(Color.BLUE);//<- update
}