0

我有一个JTextArea包装在 aJScrollPane中,我用它来记录我的应用程序的输出。我使用默认的纯字体,文本区域的大小为 9,滚动窗格的高度为 48 像素。这会导致滚动窗格视图中的行分布均匀,但存在一个问题:如果您一直向上或一直向下滚动,则会发生这种情况:

在此处输入图像描述

如您所见,顶线被截断,这就是为什么我想知道是否有办法限制滚动窗格的滚动范围,例如,它不能达到顶部或底部 6 个像素。也欢迎替代解决方案。

4

2 回答 2

2

您可以通过使用setBorder继承自JComponent. 的文档JComponent建议以下内容:

尽管从技术上讲,您可以在任何继承自 JComponent 的对象上设置边框,但许多标准 Swing 组件的外观实现不能很好地与用户设置的边框配合使用。一般情况下,当您想在 JPanel 或 JLabel 以外的标准 Swing 组件上设置边框时,我们建议您将组件放在 JPanel 中,并在 JPanel 上设置边框。

这将产生与限制滚动范围相同的结果,同时更直接。

编辑:

OP 报告说以下解决方案对他有用:

textAreaLog.setBorder(BorderFactory.createEmptyBorder(0, 6, 0, 6));
于 2012-11-15T12:46:44.110 回答
2

将顶部和底部插入为 6 像素的空边框放置JTextArea在 a中?JPanel

于 2012-11-15T12:47:33.453 回答