JTextField边距

时间:2015-12-23 09:55:27

标签: java swing jtextfield

我想在TextField中添加边距。

当前效果/期望效果:

Current Effect

Desired Effect with 10px left margin

如您所见,我想向JTextField添加10px左边距。

当前代码:

textField_host.setBorder(
    BorderFactory.createCompoundBorder(
        BorderFactory.createLineBorder(Color.DARK_GRAY),
        BorderFactory.createEmptyBorder(0, 20, 0, 0 )
    )
);

如何实现?谢谢。

2 个答案:

答案 0 :(得分:3)

因此,如果您查看JavaDocs for BorderFactory.createCompoundBorder,您会看到参数位于outsideinside订单......

public static CompoundBorder createCompoundBorder(Border outsideBorder,
                              Border insideBorder)

这意味着你应该更喜欢......

textField_host.setBorder(
    BorderFactory.createCompoundBorder(
        BorderFactory.creat‌​eEmptyBorder(0, 20, 0, 0 ), 
        textField_host.getBorder()
    )
);

另一个解决方案是使用布局管理器,让您可以更好地控制布局,例如GridBagLayout

答案 1 :(得分:0)

您可以在textField的左侧添加Box.createHorizontalStrut(10)