在JTextArea中添加边距?

10

我有一个展示文本的 JTextArea,它紧贴左上角显示文本。我希望在四个方向上都有一些边距,从而在文本和区域边界之间留出一些空间。

我进行了很多研究,但没有找到解决方案。我该怎么做呢?

此外,我想也许可以在四个方向上放置一个标签来创建虚拟边距。我如何创建一个具有特定宽度和高度的JLabel呢?


2
也许我没有正确理解你的问题。难道你不能使用setMargin()吗? - Smit
正如@Smit所说。相关java文档Insets就是表示顶部、底部、左侧和右侧边缘的边距大小的4个以像素为单位的值。 - Brian
据我所知,这就是他正在寻找的。设置边框不太好,因为它会删除默认预期的边框。复合边框可以帮助解决问题,但使用setMargin更好。 - Guillaume Polet
1个回答

12

也许我没有正确理解你的问题。不过你可以使用setMargin()。

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

一些重要链接

1. setMargin API

2. 类Insets


1
(@Smit,根据我们之前的评论):我更喜欢不设置边框,因为这会移除文本框的预期边框。如果您仍然想使用边框,您可以将文本框的现有边框与复合边框和空边框组合作为其内部或外部边框(取决于您要实现的效果)。如果是内部边框,我更喜欢使用setMargin(),它更简单且更健壮。 - Guillaume Polet
@GuillaumePolet +1 谢谢你的信息。如果你愿意,你也可以添加这个答案。 - Smit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接