2

我制作了一个包含三个 jpanel 的 jframe,这三个面板将 jframe 分成三个相等的部分。每个面板都包含一个图像。我想在框架从更高尺寸调整到更低尺寸时调整图像和面板的大小。有人能告诉我该怎么做吗?

4

2 回答 2

3

将图像设置为:

  1. 图标 / ImageIconJLabel
  2. 您可以将paintComponent 用于JComponent 或JPanelgetWidthgetHeight不是固定大小(以像素为单位)
  3. 而不是考虑调整大小,使用适当LayoutManager的放置JPanelsJLabels与图像一起使用JFrame,例如GridLayout可能是最简单的方法。
于 2012-05-07T15:58:44.610 回答
2

几年前我解决了这个问题。只是在寻找代码,但我找不到它。

本质上,答案是您使用 ComponentListener 来查看您的 Frame(或者可能更好,在每个面板上放置一个)何时更改了大小。然后您可以适当地调整图像大小。我用 BufferedImages 做到了这一点。使用常规图像,您需要创建一个新图像并在新图像上绘制旧图像,但已缩放。(使用 image.getGraphics 和Graphics.drawImage

于 2012-05-07T15:51:13.583 回答