我有一个JTextArea
包装在 aJScrollPane
中,我用它来记录我的应用程序的输出。我使用默认的纯字体,文本区域的大小为 9,滚动窗格的高度为 48 像素。这会导致滚动窗格视图中的行分布均匀,但存在一个问题:如果您一直向上或一直向下滚动,则会发生这种情况:
如您所见,顶线被截断,这就是为什么我想知道是否有办法限制滚动窗格的滚动范围,例如,它不能达到顶部或底部 6 个像素。也欢迎替代解决方案。
我有一个JTextArea
包装在 aJScrollPane
中,我用它来记录我的应用程序的输出。我使用默认的纯字体,文本区域的大小为 9,滚动窗格的高度为 48 像素。这会导致滚动窗格视图中的行分布均匀,但存在一个问题:如果您一直向上或一直向下滚动,则会发生这种情况:
如您所见,顶线被截断,这就是为什么我想知道是否有办法限制滚动窗格的滚动范围,例如,它不能达到顶部或底部 6 个像素。也欢迎替代解决方案。
您可以通过使用setBorder
继承自JComponent
. 的文档JComponent
建议以下内容:
尽管从技术上讲,您可以在任何继承自 JComponent 的对象上设置边框,但许多标准 Swing 组件的外观实现不能很好地与用户设置的边框配合使用。一般情况下,当您想在 JPanel 或 JLabel 以外的标准 Swing 组件上设置边框时,我们建议您将组件放在 JPanel 中,并在 JPanel 上设置边框。
这将产生与限制滚动范围相同的结果,同时更直接。
编辑:
OP 报告说以下解决方案对他有用:
textAreaLog.setBorder(BorderFactory.createEmptyBorder(0, 6, 0, 6));
将顶部和底部插入为 6 像素的空边框放置JTextArea
在 a中?JPanel