代码是这样的:
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
中添加边框?
答案 0 :(得分:6)
查看this explanation/recommendation from the Java API
一般情况下,当你想设置一个 标准Swing组件上的边框 除了JPanel或JLabel,我们 建议您放置组件 在JPanel中设置边框 的JPanel。
所以......你应该将JTextField嵌套在JPanel或JLabel中,并将边框放在JPanel或JLabel上。瞧!