当我设置 JFrame 的大小时,它设置了框架本身的大小,包括边框。我尝试创建一个新的内容面板并设置该大小而不是设置框架本身的大小,但它在这里不起作用是代码:
frame = new JFrame();
JPanel jp = new JPanel();
frame.setTitle(title);
//frame.setSize(width, height);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//insets = frame.getInsets();
//frame.setSize(new Dimension(insets.left + width + insets.right, insets.top + height + insets.bottom));
jp.setPreferredSize(new Dimension(width, height));
frame.setContentPane(jp);
frame.pack();
frame.setVisible(true);
所以使用插图不起作用,使用新的 ContentPane 也不起作用我希望它足够清楚。
编辑:它现在正在工作我用 Canvas 扩展了类,将它的大小设置为宽度和高度,然后将它添加到 JFrame 然后打包它。这行得通!但是为什么我认为导致它的原因不是尺寸而是我渲染它的方式,我从 JFrame 而不是画布获得了 bufferStrategy,这不是它应该的方式。