如何将JScrollPane的滚动条放在自定义位置?

时间:2012-12-30 17:39:33

标签: java swing scrollbar jscrollpane jtextarea

所以我有一个JTextArea,就在它旁边,我放置了一个高度相同的JLabel。 我想让JTextArea可滚动,但是当我这样做时,滚动条会在JTextArea和JLabel之间进行。这是默认值,但我想将滚动条放在JLabel的右侧,以便它滚动JTextArea但对JLabel不执行任何操作。 JLabel包含小图像,没有别的,我希望该图像位于JTextArea和它的滚动条之间。实现这一目标的好方法是什么?

2 个答案:

答案 0 :(得分:2)

1)将textArea添加到使用verticalScrollbar.NEVER设置的scrollPane 和horizo​​ntalScrollbar.NEVER(textArea需要设置wordWrap)

2)将scrollPane添加到BorderLayout.WEST的JPanel(borderLayout)

3)在BorderLayout.CENTER

面板上添加标签

4)在BorderLayout.EAST

的面板中添加一个JScrollBar

5)获取scrollPane的verticalScrollbar并将其模型设置为 BorderLayout.EAST的scrollBar

如果框架可调整大小,并且您希望textArea / scrollpane采用 额外/更少的空间,(2)和(3)(或(3)和(4))需要组合成一个单独的面板,以便textArea / scrollPane位于面板的CENTER区域

答案 1 :(得分:0)

创建一个JPanel,并将textarea和图像放入其中,并将其水平放置。然后将面板设置为JScrollPane的视口视图。