我制作了一个包含三个 jpanel 的 jframe,这三个面板将 jframe 分成三个相等的部分。每个面板都包含一个图像。我想在框架从更高尺寸调整到更低尺寸时调整图像和面板的大小。有人能告诉我该怎么做吗?
问问题
2689 次
2 回答
3
将图像设置为:
- 图标 / ImageIcon到JLabel
- 您可以将paintComponent 用于JComponent 或JPanel,
getWidth
而getHeight
不是固定大小(以像素为单位) - 而不是考虑调整大小,使用适当
LayoutManager
的放置JPanels
或JLabels
与图像一起使用JFrame
,例如GridLayout
可能是最简单的方法。
于 2012-05-07T15:58:44.610 回答
2
几年前我解决了这个问题。只是在寻找代码,但我找不到它。
本质上,答案是您使用 ComponentListener 来查看您的 Frame(或者可能更好,在每个面板上放置一个)何时更改了大小。然后您可以适当地调整图像大小。我用 BufferedImages 做到了这一点。使用常规图像,您需要创建一个新图像并在新图像上绘制旧图像,但已缩放。(使用 image.getGraphics 和Graphics.drawImage
)
于 2012-05-07T15:51:13.583 回答