我最近一直在学习如何用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);
}
}
答案 0 :(得分:3)
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);