我有一个JTextArea
包裹在JScrollPane
中,我用它来记录我的应用程序的输出。我使用文本区域大小为9的默认普通字体,滚动窗格的高度为48像素。这导致滚动窗格视图中的线条均匀分布,但是存在一个问题:如果您一直向上滚动或完全向下滚动,则会发生这种情况:
正如你所看到的,顶线被切断了,这就是为什么我想知道是否有限制滚动窗格的滚动范围的方法,所以它可以&#例如&# 39; t到达顶部或底部6个像素。也欢迎替代解决方案。
答案 0 :(得分:2)
您可以使用从setBorder
继承的方法JComponent
设置自定义边框,从而更改JTextArea的边距(顶部/底部)。 documentation for JComponent
建议如下:
虽然从技术上讲,你可以在任何对象上设置边框 继承自JComponent,许多的外观实现 标准Swing组件不适用于用户设置的边框。在 通常,当您要在标准Swing组件上设置边框时 除了JPanel或JLabel之外,我们建议您放置组件 在JPanel中并在JPanel上设置边框。
这会产生与限制滚动范围相同的结果,同时更直接。
修改强>
OP报告说以下解决方案对他有用:textAreaLog.setBorder(BorderFactory.createEmptyBorder(0, 6, 0, 6));
答案 1 :(得分:2)
将JTextArea
放在JPanel
的空白边框中,其中顶部和底部插图是6像素?