【发布时间】:2014-11-07 21:24:24
【问题描述】:
我试图让一个简单的窗口显示为红色背景,但它不起作用。出于某种原因,我的背景一直是灰色的,而我的代码是这样的:
import java.util.*;
import java.awt.*;
import javax.swing.*;
class Courses extends JFrame {
private Image dbImage;
private Graphics dbg;
Courses(){
setTitle("Course Schedule");
setLayout(new FlowLayout());
getContentPane().setBackground(Color.red);
setSize(600,600);
setLocation(300,10);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void paint(Graphics g){
dbImage = createImage(getWidth(), getHeight());
dbg = dbImage.getGraphics();
paintComponent(dbg);
g.drawImage(dbImage, 0, 0, this);
}
public void paintComponent(Graphics g){
g.setColor(Color.white);
g.fillOval(100,100,100,100);
repaint();
}
}
public class canvas
{
public static void main(String[] args){
Courses C = new Courses();
}
}
如您所见,我使用 Jframe 扩展了该类并使用 getContentPane().setBackground() 方法,因此这应该绘制一个带有红色背景(和一个白色椭圆)的窗口,但我得到的是灰色背景(带有白色椭圆形)。有人能看出哪里出了问题吗?
我也是第一次尝试使用缓冲绘画,我不确定现在是否顺利,但这并不重要。
【问题讨论】:
标签: java colors background jframe