4

我有一个JPanel放在里面的JScrollPane. 我使用 手动绘制它paintComponent(),因为它被用作画布,并且我希望面板自动适应滚动窗格的宽度。然后我可以getWidth()在绘画代码中使用自动缩放以适应容器。但是,我希望能够手动设置首选高度,以便我利用滚动窗格的垂直滚动功能。

最好的方法是什么?如果我能够在绘画代码中获得滚动窗格的宽度,这显然仍然有效,但我不想用getParent().

4

2 回答 2

4

让您的面板实现 Scrollable:getScrollableTracksViewportWidth/Height 分别控制视口如何处理水平/垂直尺寸的大小。true 值表示组件被强制为与视口相同的大小(即,在该方向上没有滚动),因此 getWidth() 可以始终用于缩放。

于 2012-07-08T08:03:32.063 回答
0

我会让你的绘画代码使用自身的水平宽度作为绘画的基础。
然后设置滚动窗格,使其永远不会水平滚动,只会垂直滚动。
这够好吗?现在似乎太简单了,我已经输入了!

于 2012-07-08T07:47:33.090 回答