Java JFrame中的默认JPanel较小
当我在大小为(640480)的Java JFrame中的默认JPanel较小,java,swing,jframe,jpanel,Java,Swing,Jframe,Jpanel,当我在大小为(640480)的JFrame中添加JPanel时,JPanel的大小为(638 449). 我需要JPanel与JFrame精确匹配 我发现的一个临时解决方法是将JFrame上的setUndercorated设置为true。似乎JFrame会将菜单栏和窗口周围边框的像素去掉。不要设置边框的大小。相反,您的代码应该是: frame.add(panel); frame.pack(); frame.setVisible(true); 然后面板将以其首选尺寸显示,框架仍可以进行装饰。因此
JFrame
中添加JPanel
时,JPanel
的大小为(638
449). 我需要JPanel
与JFrame
精确匹配
我发现的一个临时解决方法是将
JFrame上的setUndercorated
设置为true。似乎JFrame
会将菜单栏和窗口周围边框的像素去掉。不要设置边框的大小。相反,您的代码应该是:
frame.add(panel);
frame.pack();
frame.setVisible(true);
然后面板将以其首选尺寸显示
,框架仍可以进行装饰。因此,这意味着您需要设置面板的首选大小,而不是其大小
或者,如果需要面板具有特定大小,首选方法是覆盖面板的getPreferredSize()
方法。不要设置框架的大小。相反,您的代码应该是:
frame.add(panel);
frame.pack();
frame.setVisible(true);
然后面板将以其首选尺寸显示
,框架仍可以进行装饰。因此,这意味着您需要设置面板的首选大小,而不是其大小
或者,如果需要面板具有特定大小,首选方法是覆盖面板的getPreferredSize()
方法。不要设置框架的大小。相反,您的代码应该是:
frame.add(panel);
frame.pack();
frame.setVisible(true);
然后面板将以其首选尺寸显示
,框架仍可以进行装饰。因此,这意味着您需要设置面板的首选大小,而不是其大小
或者,如果需要面板具有特定大小,首选方法是覆盖面板的getPreferredSize()
方法。不要设置框架的大小。相反,您的代码应该是:
frame.add(panel);
frame.pack();
frame.setVisible(true);
然后面板将以其首选尺寸显示
,框架仍可以进行装饰。因此,这意味着您需要设置面板的首选大小,而不是其大小
或者,如果您需要面板具有特定大小,首选方法是覆盖面板的getPreferredSize()
方法。还不能接受答案,但这节省了我很多时间,谢谢@这是正确的答案。设置未装饰也会完全满足您的要求,但基本上您不应该在Swing中尝试这样做。您将反对Swing(布局)的一个非常基本的功能。你没有说为什么你需要它们是相同的大小,但如果是因为你使用的东西的尺寸,只使用面板。如果你真的需要它们是相同的大小,那么设置未装饰是唯一的方法,但由于明显的原因,这是不方便的。目前还不能接受答案,但这为我节省了很多时间,谢谢@这是正确的答案。设置未装饰也会完全满足您的要求,但基本上您不应该在Swing中尝试这样做。您将反对Swing(布局)的一个非常基本的功能。你没有说为什么你需要它们是相同的大小,但如果是因为你使用的东西的尺寸,只使用面板。如果你真的需要它们是相同的大小,那么设置未装饰是唯一的方法,但由于明显的原因,这是不方便的。目前还不能接受答案,但这为我节省了很多时间,谢谢@这是正确的答案。设置未装饰也会完全满足您的要求,但基本上您不应该在Swing中尝试这样做。您将反对Swing(布局)的一个非常基本的功能。你没有说为什么你需要它们是相同的大小,但如果是因为你使用的东西的尺寸,只使用面板。如果你真的需要它们是相同的大小,那么设置未装饰是唯一的方法,但由于明显的原因,这是不方便的。目前还不能接受答案,但这为我节省了很多时间,谢谢@这是正确的答案。设置未装饰也会完全满足您的要求,但基本上您不应该在Swing中尝试这样做。您将反对Swing(布局)的一个非常基本的功能。你没有说为什么你需要它们是相同的大小,但如果是因为你使用的东西的尺寸,只使用面板。如果您确实需要它们的具体尺寸相同,则设置未装饰是唯一的方法,但由于明显的原因,这是不方便的。除非框架未装饰,否则面板不可能与框架的确切尺寸匹配,因为框架有边框和标题栏…除非框架未装饰,面板不可能与框架的精确尺寸匹配,因为框架有边框和标题栏…除非框架未装饰,否则面板不可能与框架的精确尺寸匹配,因为框架有边框和标题栏…除非框架未装饰,面板不可能与框架的确切大小匹配,因为框架有边框和标题栏。。。