Jac*_*ack 1 java graphics swing jframe
我正在用 Java 构建一个简单的 2D 游戏。
我正在使用 JFrame 类,但我认为宽度和高度不是我指定的,或者图形可能不正确。
以下是我的一些代码片段:
public final static int WIDTH = 600, HEIGHT = 900;
Run Code Online (Sandbox Code Playgroud)
JFrame frame = new JFrame();
frame.setSize(WIDTH, HEIGHT);
Run Code Online (Sandbox Code Playgroud)
g.setColor(Color.BLACK);
g.fillRect(0, 0, WIDTH, HEIGHT - 10);
Run Code Online (Sandbox Code Playgroud)
JFrame 显示黑色背景。然而,根据我给 fillRect 函数的参数,框架底部仍然应该有一个 10px 高的白色细长条。不是这种情况。白色条带仅在从框架高度降低 30 像素后才真正开始显示。
谢谢你的帮助。
JFrame 大小包括边框,因此您需要允许它们。为了方便处理这个问题,不要指定 JFrame 的宽度和高度。我建议执行以下操作。
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(width,height));
frame.add(panel);
// add other components in the panel
frame.pack();
// center on screen.
frame.setLocationRelativeTo(null);
frame.setVisible(true);
Run Code Online (Sandbox Code Playgroud)
现在您的面板将是指定的尺寸。
请注意,如果您要绘画,请确保您paintComponent(Graphics g)在 JPanel 中覆盖并在那里进行绘画。
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
// your code here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |