我最近一直在学习如何用Java编程,并且直到现在才开始尝试创建游戏。不幸的是,我只知道我从书中读到的内容和一些视频。我最初尝试创建一个包含5个面板和BorderLayout的游戏,但随后在绘制图形时遇到了麻烦。
我实际上只是出于这个问题而创建了这个帐户,我不确定自己做错了什么。原来我做错了很多。
现在,我学会了制作一个可以绘制图形的面板;我不确定如何将其实际放置到BorderLayout.CENTER中,因为它看起来与以前制作“新JPanel”时所用的方式不同。
我很抱歉,但收起的速度似乎有些缓慢。
import javax.swing.*;
import java.awt.*;
public class GameScene2
{
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
mainGameScene();
}
});
}
private static void mainGameScene()
{
JFrame window = new JFrame("This is my first game : o");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.add(new mainGamePanel());
window.pack();
window.setVisible(true);
}
}
class mainGamePanel extends JPanel
{
public Dimension getPreferredSize()
{
return new Dimension(1280, 720);
}
public void paintComponent(Graphics pencil)
{
super.paintComponent(pencil);
pencil.drawString("Boo", 100, 100);
}
}
最佳答案
Panel p = new Panel();
p.setLayout(new BorderLayout());
像这样将其添加到框架中。
这是一个完整的链接,用于说明如何使用Borderlayout:
https://docs.oracle.com/javase/tutorial/uiswing/layout/border.html
这说明了如何将其添加到面板中:
https://docs.oracle.com/javase/7/docs/api/java/awt/BorderLayout.html
编辑:
所以原来你有
window.add(new mainGamePanel());
试一试
mainGamePanel p = new mainGamePanel();
p.setLayout(new BorderLayout());
window.add(p);