6

代码是这样的:

JTextField txt = new JTextField();
txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red));

但是,文本字段忽略了我对setBorder. 没有任何变化。

我要用JLabel(例如)替换它

JLabel txt = new JLabel();
txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red));

我会看到红色边框。

谁能告诉我为什么?或者更好地向我解释如何在JTextField?

4

1 回答 1

6

从 Java API 中查看此解释/建议

一般情况下,当您想在 JPanel 或 JLabel 之外的标准 Swing 组件上设置边框时,我们建议您将组件放在 JPanel 中并在 JPanel 上设置边框。

所以...您应该将 JTextField 嵌套在 JPanel 或 JLabel 中,并将边框放在 JPanel 或 JLabel 上。瞧!

于 2010-02-17T14:52:37.060 回答