的Java包不调整大小
我在此刻学习Java,并有以下问题:的Java包不调整大小
我加入我到JFrame的控制,然后包()显示之前。
这运行的应用程序,一切都非常好。
我想知道有没有办法阻止用户调整应用程序窗口的大小?
还有没有办法让JLabel中的图像随着用户更改应用程序窗口而展开?
目前,我把它作为:
constraints.fill = GridBagConstraints.BOTH;
constraints.anchor = GridBagConstraints.CENTER;
,它只是中心的形象,我想能够扩大/缩小图像。
谢谢。
我想知道有没有办法阻止 用户从调整应用程序 窗口?
如果你不想让用户调整窗口的大小都那么你可以做
frame.setResizable (false);
我不知道,这种技术可以与pack()
同时成功使用。你当然应该尝试,但我记得有一个问题,如果你这样做:
frame.setResizable (false);
pack();
然后pack()
根本就没有做自己应该,如果你这样做:
pack();
frame.setResizable(false);
,那么你的窗口变得稍后更窄一点,之后只有pack()
。当然,可以找到一些解决方法(或者甚至只是我不好的经历)。
对于第一个问题,您可以使用该方法setResizable(boolean)
调整你的窗口停止用户:
frame.setResizable(false);
我不使用GridBagLayout
,所以我不能帮你的第二个问题。
第二个问题与使用GridBagLayout无关,但如何在JLabel中缩放图像。 – jarnbjo 2010-04-14 17:03:25
为了防止调整窗口大小,您可以简单地在窗口或(J)框架上调用setResizable(false)
。
对于JLabel和图像,没有简单的方法可以根据图像的实际大小来缩放图像。如果您仅为图片使用标签(无文本),则可能更容易实现您自己的组件,您可以在其中自行绘制图像。
also is there a way to for the image in JLabel to expand as the user changes the application window?
是的,你需要创建自己LabelUI
类,并通过setUI()
将其设置为您的标签。 在您的自定义LabelUI类中,您将必须覆盖getPreferredSize
并根据需要绘制imageIcon。
据略有程序,你可能想看看BasicLabelUI
源,了解如何做事。(http://www.java2s.com/Open-Source/Java-Document/Apache-Harmony-Java-SE/javax-package/javax/swing/plaf/basic/BasicLabelUI.java.htm)
或
你可以过骑的JLabel的paintComponent()
API创建自己的扩展JLabel类。
我不需要设置我的框架不可改变。我总是在NetBeans IDE中使用Matisse。这是最好的和免费的GUI编辑器! – 2010-04-14 17:05:46