当前位置: 首页 > 知识库问答 >
问题:

JFrame大小调整不正确

夹谷星剑
2023-03-14
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);

编辑:它现在可以工作了,我用画布扩展了这个类,将它的大小设置为宽度和高度,然后将它添加到JFrame,然后打包。这管用!但我认为造成这种情况的原因不是尺寸大小,而是我呈现它的方式,我从JFrame中获得了bufferStrategy,而不是画布,这不是应该的方式。

共有1个答案

韦高格
2023-03-14

重写getPreferredSize()以设置JPanel的首选大小。

示例代码:

JPanel panel =new JPanel (){

    @Override
    public Dimension getPreferredSize() {
        return new Dimension(..., ...);
    }
}

参见我应该避免在Java Swing中使用set(PreferredMaximumMinimum)Size方法吗?

public static void main(String args[]) {
    SwingUtilities.invokeLater(new Runnable() {

        @Override
        public void run() {
            // GUI related code goes here (not heavy task)
        }
    });
}
 类似资料:
  • 我制作了一个包含三个jpanel的jframe,这三个panel将jframe分成三个相等的部分。每一个面板都包含一个图像。我想调整图像和面板的大小,当帧的大小从高到低的时候。有人能告诉我如何做吗。

  • 问题内容: 我是Java的新手,开始学习挥杆技巧,并且在JFrame中调整JPanel的大小时遇到​​问题。我正在关注本教程: http://vincentramdhanie.blogspot.com/2009/11/cardlayout-with- netbeans.html 因为最终我将学习每种不同的布局,并且现在已经进入CardLayout。在上面,有一个JPanel用于状态面板。那也是我想

  • 我是Java新手,开始学习swing,在JFrame中调整JPanel的大小时遇到问题。我将学习本教程: http://vincentramdhanie.blogspot.com/2009/11/cardlayout-with-netbeans.html 因为最终我正在学习每一种不同的布局,现在我来到了CardLayout。在上面,有一个JPanel用于状态面板。这也是我想要做的,但是当我将一个J

  • 问题内容: 我打算制作一个ContentPanel为600x600的JFrame,并且我希望JFrame的大小不可调整。在此框内,我绘制了一个600x600的红色轮廓矩形,以确保运行程序时所有内容都匹配。在限制JFrame的大小之前,我通过执行以下操作来设置JFrame的大小: 当我启动程序时,矩形的边界与JFrame的尺寸完全吻合。但是,当我在公式中添加isResizable(false)时,在

  • 我打算制作一个具有600x600的ContentPanel的JFrame,并且我希望JFrame不是可重放的。在这个框中,我画了一个600x600的红色矩形,以确保运行程序时所有内容都匹配。在限制JFrame的大小之前,我通过执行以下操作来设置JFrame的大小: 注意:在不修改大小的情况下创建一个JFrame也可以观察到这个异常。如果不使其不可调整大小,则没有可观察的Panel/ContentP

  • 问题内容: 我在Java中使用Apache POI创建一个Excel文件。我填写了数据,然后尝试自动调整每列的大小,但是大小总是错误的(我 认为是 一致的)。前两行始终(?)完全折叠。当我在excel中自动调整列的大小时,它可以完美运行。 (我相信)没有空白单元被写入,并且调整大小是我要做的 最后一 件事。 这是相关的代码: 这是一个精简的版本,没有错误处理等。 我知道那里有一些类似的问题,但是其