Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何停止JFrame中JPanel的大小调整_Java_Swing_Layout_Jpanel - Fatal编程技术网

Java 如何停止JFrame中JPanel的大小调整

Java 如何停止JFrame中JPanel的大小调整,java,swing,layout,jpanel,Java,Swing,Layout,Jpanel,我有一个扩展JPanel的提醒类,带有boxlayout和 setPreferredSize(new Dimension(500,500)) 在main类中,我有JFrame rem = new Reminder(); frame.setSize(900,900); rem.setMaximumSize(new Dimension(500,500)); frame.getContentPane().removeAll()

我有一个扩展JPanel的提醒类,带有boxlayout和

setPreferredSize(new Dimension(500,500))
在main类中,我有JFrame

rem = new Reminder();

            frame.setSize(900,900);
            rem.setMaximumSize(new Dimension(500,500));
            frame.getContentPane().removeAll();
            frame.setLayout(new BorderLayout());
            frame.add(rem,BorderLayout.CENTRE);
            frame.validate();
            frame.repaint();

我希望提醒面板位于jframe的中心,而不改变其尺寸(500500),并且frame不应改变其尺寸(900900)。当我运行上述代码时,rem面板完全展开。如何使rem面板居中?

不要使用
边框布局
。如果你不想要的是边框布局,为什么要使用它呢


编辑:
BoxLayout
是一种选择,如果您真的需要完全自己定位所有内容,您也可以决定不使用布局管理器,例如。

简单方法:使用绝对布局并使用图形编辑器将“rem”准确定位在您想要的位置。 然后为框架设置不变的大小:

 frame.setResizable(false);

另外,如果你想使用Borderlayout,我敢肯定这是你代码中的一个输入错误:

frame.add(rem,BorderLayout.CENTRE);
应该是:

frame.add(rem,BorderLayout.CENTER);

是这个小问题困扰着你吗?

我用boxlayout框布局,我面临错误,因为boxlayout无法共享。你说“无法共享”是什么意思?当我将layout设置为boxlayout到jframe时,它给我错误,因为boxlayout无法共享?甚至我都不知道为什么会出现这个错误。@vijay,这是因为您正在执行以下操作:
panel1.setLayout(new-BoxLayout(panel2,BoxLayout.Y_轴))
new-BoxLayout的第一个参数应该与您将其附加到的面板,panel1,在我的例子中,对于那些来到这里希望能够在不调整面板大小的情况下调整JFrame大小的人(如问题所述),问题在于您的LayoutManager。我建议研究MigLayout,因为它比LayoutManager容易学习,而且非常强大。此外,setMaximum/Prefered/Min size或@Override ing getMax/Min/Pref size都是需要研究的潜在因素。