我最近一直在学习如何用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);

09-10 08:54
查看更多