为了账号安全,请及时绑定邮箱和手机立即绑定

将多个JComponents绘制到一个框架

将多个JComponents绘制到一个框架

慕姐4208626 2019-09-06 15:43:15
我试图在同一个窗口上绘制多个汽车对象,但看起来它们正在相互覆盖。这是我在Car类中重写的paintComponent方法public void paintComponent(Graphics g) {    Graphics2D g2 = (Graphics2D) g;    g2.setColor(wheelColor);    g2.fill(leftWheel);    g2.fill(rightWheel);    g2.setColor(bodyColor);    g2.fill(body);    g2.fill(cab);}在我的Viewer类中:JFrame f = new JFrame();initializeFrame(f);Car x = new Car(100, 100);Car y = new Car(300, 300);f.add(x);f.add(y);虽然坐标似乎不同,但只绘制了最后一辆车。有什么建议?谢谢
查看完整描述

2 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

但似乎他们互相覆盖。

JFrame的默认布局管理器是BorderLayout。因此,默认情况下,您将所有组件添加到BorderLayout的CENTER。但是,您只能向CENTER添加一个组件,因此只显示最后一个Car。

将布局管理器更改为FlowLayout以查看差异。

或者,看起来你试图在随机位置绘制汽车,在这种情况下你应该使用“空”布局。然后,您将负责设置每个汽车组件的大小/位置。


查看完整回答
反对 回复 2019-09-06
  • 2 回答
  • 0 关注
  • 361 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信