Java JTextField上的标题边界

Java JTextField上的标题边界,java,swing,colors,border,jtextfield,Java,Swing,Colors,Border,Jtextfield,当我在JTextField周围放置标题边框时,整个背景变为白色,而不仅仅是包含文本的区域 我认为问题在于文本字段是不透明的组件。那么,在继续将文本背景涂成白色的同时,是否可以将标题和包围框放在通常的灰色背景中?我本来希望您可以只使用一个复合边框,但是,由于字段的实际背景颜色是白色的,因此这没有达到预期的效果 例如,您可以将字段包装在JPanel中,并对其应用边框 setLayout(new GridBagLayout()); JTextField field = new JTextField(1

当我在
JTextField
周围放置
标题边框时,整个背景变为白色,而不仅仅是包含文本的区域


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

我本来希望您可以只使用一个
复合边框,但是,由于字段的实际背景颜色是白色的,因此这没有达到预期的效果

例如,您可以将字段包装在
JPanel
中,并对其应用边框

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

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