java画图(Graphics)的问题
看截图:
为什么我创建了3个MyPanel对象(在JPanel上画坦克),结果只显示一个坦克?
还有,再看看我用//屏蔽的代码,用这些代码的话,一个坦克也不显示,这又是为什么?
PS:MyPanel 是一个 绘出一个坦克的类,我创建3个类(是在3个JPanel上吧?),再用上布局管理器,应该就是画出3个不同的坦克了吧?
我附上MyPanel类的代码:
[code=Java][/code]
class MyPanel extends JPanel {
//覆盖JPanel的paint方法
public void paint(Graphics g){
//调用父类完成初始化,这句不能少
super.paint(g);
//把图画到JPanel上
g.setColor(Color.BLUE);//设置颜色
g.fill3DRect(0+50, 0+50, 20, 100,true);//填充矩形,坦克轮
g.setColor(Color.GREEN);
g.fillRect(20+50, 20+50, 41, 60);//填充矩形,坦克身体
g.setColor(Color.RED);
g.fillOval(30+50, 30+50, 20, 20);//圆,坦克帽
g.setColor(Color.BLACK);
g.fillRect(39+50, 10+50, 2, 30);//填充矩形,坦克口
g.setColor(Color.BLUE);
g.fillRect(60+50, 0+50, 20, 100);//填充矩形,坦克轮
}
------解决方案--------------------Panel的默认布局好象是FlowLayout,所以第二个问题你这么改试试
Janel jp = new Janel(new BorderLayout());
------解决方案--------------------[Quote=引用:]
看截图:
为什么我创建了3个MyPanel对象(在JPanel上画坦克),结果只显示一个坦克?
还有,再看看我用//屏蔽的代码,用这些代码的话,一个坦克也不显示,这又是为什么?
PS:MyPanel 是一个 绘出一个坦克的类,我创建3个类(是在3个JPanel上吧?),再用上布局管理器,应该就是画出3个不同的坦克了吧?
我附上MyPanel类的代码:
[code=Java][/code]……
[/Quote]你的坦克类首先得实现线程接口 Runnable 先new一个向量 最好是Vector 然后用for循环创建坦克 没创建一个 就开启一个线程
------解决方案--------------------
------解决方案--------------------马士兵的坦克大战可以看下,讲的很详细