在 JTextArea 中添加边距?

Posted

技术标签:

【中文标题】在 JTextArea 中添加边距?【英文标题】:Adding margins in a JTextArea? 【发布时间】:2013-01-22 08:30:01 【问题描述】:

所以我有一个JTextArea,它从左上角显示文本。我希望所有 4 个边都有一些边距,所以文本和区域边界之间有一些空间。

我研究了很多,找不到任何解决方案。我该怎么做?

另外,我在想也许可以在所有 4 面都贴上标签以创建虚拟边距。如何创建具有特定宽度和高度的JLabel

【问题讨论】:

可能是我没有正确理解您的问题。你不能用setMargin()吗? 正是@Smit 所说的。 Relevant javadocs。 Insets 只是 4 个像素值,表示顶部、底部、左侧和右侧的边距大小。 AFAICT,这就是他要找的东西。设置边框不是很好,因为它会丢弃默认的预期边框。复合边框可以帮助解决这个问题,但它比使用 setMargin 【参考方案1】:

可能是我没有正确理解您的问题。但是你可以使用 setMargin()

// set the margin for all four sides
tt.setMargin( new Insets(10,10,10,10) ); // tt is JTextArea instance

一些重要的链接

1. setMargin API

2. Class Insets

【讨论】:

(@Smit,在我们之前的 cmets 之后):我不喜欢设置边框,因为它会删除预期的文本字段边框。如果您仍然想使用边框,您可以将文本字段的现有边框与复合边框和空边框组合作为其内边框或外边框(取决于您要达到的效果)。如果是内层,我更喜欢使用 setMargin(),更简单更健壮。 @GuillaumePolet +1 感谢您提供信息。如果你愿意,你也可以添加这个答案。

以上是关于在 JTextArea 中添加边距?的主要内容,如果未能解决你的问题,请参考以下文章

JTextArea与TextArea自动换行和滚动条的区别对比

java中如何在JTextArea中添加图片?

在 JtextArea 的末尾添加一个新行

如何设置JTextArea的最大大小,如果等于或大于该大小,则可以添加滑块

将 JTextArea 添加到 JFrame

在 JTextArea 中停止水平滚动