我正在尝试创建一个简单的游戏,但是当从主类中的多个类中绘制时,我遇到了麻烦。这是我的代码到目前为止。
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类下的内容。
这让我疯狂,为什么我可以让一个人工作,而不是另一个。
请帮忙。