java 主类副类_在Java中从多个类绘制到主类

在创建一个Java游戏时,遇到问题无法同时从主类的多个子类进行绘制。代码示例中,`HomePlanet`类和`StarsPanel`类分别用于绘制不同的元素,但它们无法同时在主窗口上显示。当`StarsPanel`先添加到主窗口时,`HomePlanet`的内容不显示;反之则`StarsPanel`的内容不显示。寻求解决这个问题的方法。
摘要由CSDN通过智能技术生成

我正在尝试创建一个简单的游戏,但是当从主类中的多个类中绘制时,我遇到了麻烦。这是我的代码到目前为止。

public static void main(String[] args)

{

JFrame mainGameFrame = new JFrame("Space4X");

StarsPanel starsPanel = new StarsPanel();

HomePlanet homePlanet = new HomePlanet();

mainGameFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

mainGameFrame.setResizable(true);

mainGameFrame.getContentPane().add(homePlanet);

mainGameFrame.getContentPane().add(starsPanel);

mainGameFrame.pack();

mainGameFrame.setVisible(true);

}

public void HomePlanet()

{

HomePlanet homePlanet = new HomePlanet();

}

}这是我的HomePlanet类,

package space4x;

import javax.swing.*;

import java.awt.*;

public class HomePlanet extends JPanel

{

public void HomePlanet()

{

}

public void paintComponent (Graphics page)

{

//Draw planet

super.paintComponent (page);

page.setColor(Color.RED);

page.fillRect(10,10,50,50);

}

}我还有一个名为StarsPanel的类,它在随机位置绘制星星,并且完美运行,但HomePlanet出于某种原因不会。

在主类下,如果我有

mainGameFrame.getContentPane().add(starsPanel);首先而不是starsPanel,它将绘制HomePlanet类下的内容,但不包含StarPanel类下的内容。

这让我疯狂,为什么我可以让一个人工作,而不是另一个。

请帮忙。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值