我使用了边框布局,并在中心放置了一个画布;主游戏将在哪里,但我什么都画不出来。
有人能给我指正确的方向吗?
import java.awt.*;
import javax.swing.*;
public class TestingGraphics {
public static void main (String[] args) {
GameScene window = new GameScene();
}
}
import java.awt.*;
import javax.swing.*;
public class GameScene extends JFrame {
Canvas gameCanvas;
Graphics Pencil;
JPanel game;
public GameScene() {
game = new JPanel();
add(game);
setTitle("Yet to name this thing.");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gameCanvas = new Canvas();
gameCanvas.setPreferredSize(new Dimension(1280, 720));
game.add(gameCanvas);
drawString();
pack();
setLocationRelativeTo(null);
setVisible(true);
}
public void drawString(Graphics Pencil) {
Pencil.drawString("boo", 100, 100);
}
}
你的问题是,你对如何在Swing中绘制进行了疯狂的猜测,但这永远不会奏效,你的错误包括试图直接在JFrame中绘制,试图在不传递必要参数的情况下调用方法,在任何绘制方法之外绘制。。。。首先,转到Swing绘图教程,您可以在这里找到:Swing绘图辅导——并阅读它们。
接下来,按照他们告诉你的去做:
- 创建一个扩展JPanel的类
- 绘制该类的paintComponent方法重写,而不是直接在JFrame中绘制
- 请确保在重写的方法中调用super的paintComponent方法
- 将JPanel添加到顶级窗口,如JFrame
- 显示GUI
- 完成