JScrollpane滚动条调整大小问题

时间:2010-01-11 10:52:50

标签: java resize jscrollpane

我有以下问题:

我有包含图片的JScrollPane。

滚动窗格与其他组件一起位于JPanel内部,以便能够使用BorderLayout布局整个内容(滚动窗格是CENTER,我在南方有一些东西)。

此JPanel位于JSplitPane。

JSplitPane终于在JFrame中。

JFrame
{
 JSplitpane
 {
  JPanel(BorderLayout)
  {
   JScrollPane(CENTER)
   {
    BufferedImage
   }

   JPanel(SOUTH)
   {...}
  }
 }
}

我现在的问题是,当我调整框架大小时,scrollPane中的图像会很好地调整大小,直到达到图像大小。然后图像被拉伸,我想要防止。 我尝试将JScrollPane包装在JPanel中,该JPanel是一个带有FlowLayout的布局。这适用于调整大小的位,但是一旦我调整帧的大小,滚动条就会消失。

我覆盖了scrollPane的setSize()方法,发现一旦调整帧大小,滚动窗格的大小总是设置为图像的大小。我不知道如何解决这个问题。

每个提示都受到赞赏。

干杯,

1 个答案:

答案 0 :(得分:0)

如果您使用setMaximumSize()的宽度/高度JScrollPane致电BufferedImage(但尚未尝试过),我相信您会感觉良好。

作为一般性评论:为了添加孩子而重写Swing组件是个坏主意。而是创建一个控制器类,用于创建和组合基本组件。


我重读了你的问题,我想知道:图像被拉伸的问题,还是滚动条消失了?如果您想在屏幕上保留滚动条,即使无法滚动,请查看setVerticalScrollBarPolicy()setHorizontalScrollBarPolicy()方法。