问题描述
我目前正在学习 Java 并且有以下问题:
i am learning Java at the moment and have the following question:
我将控件添加到 JFrame,然后在显示之前进行 pack().
i am adding my controls to JFrame and then pack() before displaying.
这会运行应用程序,一切都非常好.
this runs the application and all is very nice.
我想知道有没有办法阻止用户调整应用程序窗口的大小?
i was wondering is there a way to stop the user from resizing the application window?
还有没有办法让 JLabel 中的图像随着用户更改应用程序窗口而展开?
also is there a way to for the image in JLabel to expand as the user changes the application window?
目前我认为:
constraints.fill = GridBagConstraints.BOTH;
constraints.anchor = GridBagConstraints.CENTER;
它只使图像居中,我希望能够扩展/缩小图像.
and it only centers the image, i would like to be able to expand/shrink the image.
谢谢.
推荐答案
如果您根本不想让用户调整窗口大小,那么您可以这样做
If you don't want to allow users to resize your window at all then you can do
frame.setResizable (false);
我不确定此技术是否可以与 pack()
同时成功使用.你当然应该尝试,但我记得如果你这样做会出现一个问题:
I'm not sure that this technique can be successfully used at the same time with pack()
. You should certainly try, but I remember there was an issue that if you do:
frame.setResizable (false);
pack();
然后 pack()
根本没有做它应该做的,如果你做了:
then pack()
simply doesn't do what it should and if you do:
pack();
frame.setResizable(false);
然后你的窗口变得更窄,然后只有pack()
.当然,可以找到一些解决方法(或者甚至可能只是我的糟糕经历).
then you window becomes a little more narrow then after only pack()
. Of course, some workaround can be found (or maybe even it's just my bad experience).
这篇关于Java Pack 不调整大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!