1

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

4

2 回答 2

2

1)将您的 textArea 添加到设置了 verticalScrollbar.NEVER 和 Horizo​​ntalScrollbar.NEVER 的 scrollPane (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 区域

于 2012-12-30T22:56:56.827 回答
0

做一个JPanel,把textarea和图片放在里面,水平放置。然后将面板设置为 JScrollPane 的视口视图。

于 2012-12-30T18:05:07.610 回答