Java Swing - 使用Line Border在TextArea上设置边距

时间:2012-04-23 04:20:21

标签: java swing textarea margins insets

正如标题所说,我只是试图在TextArea上设置一个LineBorder设置的边距(提供一些填充)。没有设置边框,.setMargins工作正常。这是特定的代码块。

aboutArea = new JTextArea("program info etc.....");

Border border = BorderFactory.createLineBorder(Color.BLACK);

aboutArea.setSize(400, 200);
aboutArea.setBorder(border);
aboutArea.setEditable(false);
aboutArea.setFont(new Font("Verdana", Font.BOLD, 12));

add(aboutArea);

我尝试了以下各项:

aboutArea.setMargins(10,10,10,10);
.getBorders(aboutArea).set(10,10,10,10);
UIManager.put("aboutArea.margin", new Insets(10, 10, 10, 10));

但是在应用边框后没有任何影响边距,填充总是为0.任何想法如何在带有边框的textArea上设置填充?

1 个答案:

答案 0 :(得分:27)

如果你尝试添加CompoundBorder怎么办,这不会,这会给你几乎相同的东西

JTextArea tarea = new JTextArea("program info etc.");
Border border = BorderFactory.createLineBorder(Color.BLACK);
tarea.setBorder(BorderFactory.createCompoundBorder(border, 
            BorderFactory.createEmptyBorder(10, 10, 10, 10)));

CHECK THE MIDDLE JTextArea as OUTPUT