java paint和JFrame` 背景色的问题` 20
importjava.awt.*;importjavax.swing.*;publicclassZhuleiextendsJFrame{/****/privatestat...
import java.awt.*;
import javax.swing.*;
public class Zhulei extends JFrame
{
/**
*
*/
private static final long serialVersionUID = -8513034365211500719L;
int x=50,y=50;
//paint方法框架
public void paint(Graphics a)
{
Color c=a.getColor();
a.setColor(Color.RED);
a.fillOval(x,y,30,30); //图形位置(我的坦克)
a.setColor(c);
y+=5;
}
public void asdf()
{
this.setLocation(400,300);
this.setSize(800,600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setVisible(true);
this.setBackground(Color.BLACK);
}
public static void main(String[] args)
{
Zhulei zl=new Zhulei();
zl.asdf();
}
}
我这个程序设置的背景应该是黑色` 但是我运行的时候却没有背景色` 而背景却是 `程序启动时 窗口后面我电脑的截图... 谢谢
电脑的问题? 具体是什么地方的问题呢?? 谢谢 2L 你说的方法我试过了 换台电脑· 还是那样啊· 展开
import javax.swing.*;
public class Zhulei extends JFrame
{
/**
*
*/
private static final long serialVersionUID = -8513034365211500719L;
int x=50,y=50;
//paint方法框架
public void paint(Graphics a)
{
Color c=a.getColor();
a.setColor(Color.RED);
a.fillOval(x,y,30,30); //图形位置(我的坦克)
a.setColor(c);
y+=5;
}
public void asdf()
{
this.setLocation(400,300);
this.setSize(800,600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setVisible(true);
this.setBackground(Color.BLACK);
}
public static void main(String[] args)
{
Zhulei zl=new Zhulei();
zl.asdf();
}
}
我这个程序设置的背景应该是黑色` 但是我运行的时候却没有背景色` 而背景却是 `程序启动时 窗口后面我电脑的截图... 谢谢
电脑的问题? 具体是什么地方的问题呢?? 谢谢 2L 你说的方法我试过了 换台电脑· 还是那样啊· 展开
5个回答
展开全部
1.一般都覆盖paintComponent方法而不是paint方法
2.在覆盖的paintComponent里调用父类的paintComponent方法
super.paintComponent(g)
竟然不听我的...你没有调用super.paintComponent(g)才会没背景色的
2.在覆盖的paintComponent里调用父类的paintComponent方法
super.paintComponent(g)
竟然不听我的...你没有调用super.paintComponent(g)才会没背景色的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public void paint(Graphics a)
{
Color c=a.getColor();
a.setColor(Color.green);
a.fillRect(0, 0, 800, 600);//变相设背景色,没办法的办法,呵呵
a.setColor(Color.RED);
a.fillOval(x,y,30,30); //图形位置(我的坦克)
a.setColor(c);
y+=5;
} //这个设背景色,应该是和操作系统有关
{
Color c=a.getColor();
a.setColor(Color.green);
a.fillRect(0, 0, 800, 600);//变相设背景色,没办法的办法,呵呵
a.setColor(Color.RED);
a.fillOval(x,y,30,30); //图形位置(我的坦克)
a.setColor(c);
y+=5;
} //这个设背景色,应该是和操作系统有关
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼的正解。
AWT组件(如窗口Frame、按钮Button)重写paint(Graphics)
swing组件(如JFrame、JButton)重写paintComponent(Graphics)
AWT组件(如窗口Frame、按钮Button)重写paint(Graphics)
swing组件(如JFrame、JButton)重写paintComponent(Graphics)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询