Java Swing 使用所有绘制的元素调整 JFrame 和 JPanel 的大小



我正在用Java Swing开发一个游戏。我使用绝对坐标和固定的窗口大小来设置每个元素的位置。但是,如果我调整 JFrame 的大小,绘制的元素不会缩放。我怎样才能做到这一点?在我的示例中,我将默认窗口大小设置为 1280 x 720,并根据此大小开发游戏。然后,让java自动调整元素的大小就完美了。

如果你想要一个固定大小的窗口,你可以使用 JFrame.setRessizeable(boolean( API 使你的窗口不可调整大小。例:

public class FixedSizeJFrame
{
  public static void main(String[] args)
  {
    JFrame frame = new JFrame("My Title");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBounds(100, 100, 1280, 720);
    frame.getContentPane().add(new JLabel("My Label"), BorderLayout.NORTH);
    frame.getContentPane().add(new JTextArea("Sample text"), BorderLayout.CENTER);
    frame.setResizable(false);
    frame.setVisible(true);
  }
}

最新更新