JTextField上的TitledBorder

时间:2015-07-16 07:05:34

标签: java swing colors border jtextfield

当我在TitledBorder周围放置JTextField时,整个背景都会变白,而不仅仅是包含文字的区域。

我认为问题是文本字段是不透明的组件。那么,是否可以将标题和封闭框放在通常的灰色背景中,同时继续将文本背景画成白色?

1 个答案:

答案 0 :(得分:3)

我原本希望你可以使用CompoundBorder,但是,因为字段的实际背景颜色为白色,所以效果并不理想。

相反,您可以将字段包装在JPanel中并将边框应用于该字段,例如

Border

setLayout(new GridBagLayout());
JTextField field = new JTextField(10);
JPanel panel = new JPanel();
panel.add(field);
panel.setBorder(BorderFactory.createTitledBorder("Hello"));
add(panel);

现在,如果您不希望该字段具有边框,则可以将其设置为null