JLabels中的图片总是和Label一样大

时间:2013-10-25 20:03:15

标签: java swing jframe

我是Java中的完整n00b。

我来自VB.Net,所以我有一些期望。

无论如何,我正在将我的VB应用程序移植到Java,以使其可用于Mac OS和Ubuntu / Linux用户。 我希望这是一对一的端口,包括设计。这就是我选择使用NetBeans来处理的原因。

我创建了一些标签,并且我已经通过设计师添加了我的资源中的图片,但它们的大小显然是固定的。在VB中,我可以拉伸图片,使它们适合贴在标签/ PictureBoxes中,但在Java JFrames中,我还没有找到方法。

有没有办法做到这一点?如果是这样,怎么样?

提前感谢您的帮助。

LG, 次

1 个答案:

答案 0 :(得分:0)

  

我可以拉伸图片

拉伸从来都不是一个好主意,因为这样图像就会变得像素化。没有直接的方法可以在Java中动态拉伸图像,您需要编写自定义代码。

一种方法是使用Darryl的Stretch Icon,这将允许图标拉伸以填充标签的大小,因为其大小根据布局管理器确定的标签可用空间而变化。

另一种是在自定义组件上自定义绘制图像。这是通过重写paintComponent()并使用:

来完成的
g.drawImage(image, 0, 0, getWidth(), getHeight(), this);

如果您想在阅读图像后静态缩放图像,则可以使用:

Image.getScaledInstance(...);