我是靠谱客的博主 耍酷钢铁侠,这篇文章主要介绍odd.java是什么意思_Java Odd pack()行为,现在分享给大家,希望可以做个参考。

我的主要问题是在设置JFrame时使用以下代码:

public Frame(){

JPanel panel = new JPanel();

add(panel);

panel.setPreferredSize(new Dimension(200, 200));

pack(); // This is the relevant code

setResizable(false); // This is the relevant code

setVisible(true);

}

使用以下打印语句,我们会收到面板的错误尺寸:

System.out.println("Frame: " + this.getInsets());

System.out.println("Frame: " + this.getSize());

System.out.println("Panel: " + panel.getInsets());

System.out.println("Panel: " + panel.getSize());

Output:

Frame: java.awt.Insets[top=25,left=3,bottom=3,right=3]

Frame: java.awt.Dimension[width=216,height=238]

Panel: java.awt.Insets[top=0,left=0,bottom=0,right=0]

Panel: java.awt.Dimension[width=210,height=210]

我发现将相关代码修改为以下内容可以解决问题:

public Frame(){

JPanel panel = new JPanel();

add(panel);

panel.setPreferredSize(new Dimension(200, 200));

setResizable(false); // Relevant code rearranged

pack(); // Relevant code rearranged

setVisible(true);

}

这会为我们的面板生成正确的尺寸(使用与之前相同的打印语句):

Frame: java.awt.Insets[top=25,left=3,bottom=3,right=3]

Frame: java.awt.Dimension[width=206,height=228]

Panel: java.awt.Insets[top=0,left=0,bottom=0,right=0]

Panel: java.awt.Dimension[width=200,height=200]

我查看了一些文档,但无法找出这10个像素来自哪里.

有人知道为什么会这样吗?

最后

以上就是耍酷钢铁侠最近收集整理的关于odd.java是什么意思_Java Odd pack()行为的全部内容,更多相关odd.java是什么意思_Java内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部