【发布时间】:2015-10-05 11:59:53
【问题描述】:
当我将TitledBorder 放在JTextField 周围时,整个背景变为白色,而不仅仅是包含文本的区域。
我认为问题在于文本字段是一个不透明的组件。那么,是否可以将标题和封闭框放在通常的灰色背景中,同时继续将文本背景涂成白色?
【问题讨论】:
标签: java swing colors border jtextfield
当我将TitledBorder 放在JTextField 周围时,整个背景变为白色,而不仅仅是包含文本的区域。
我认为问题在于文本字段是一个不透明的组件。那么,是否可以将标题和封闭框放在通常的灰色背景中,同时继续将文本背景涂成白色?
【问题讨论】:
标签: java swing colors border jtextfield
我希望你可以只使用CompoundBorder,但是,因为字段的实际背景颜色是白色,这并没有达到预期的效果。
例如,您可以将字段包装在 JPanel 中并为其应用边框
setLayout(new GridBagLayout());
JTextField field = new JTextField(10);
JPanel panel = new JPanel();
panel.add(field);
panel.setBorder(BorderFactory.createTitledBorder("Hello"));
add(panel);
现在,如果您不希望字段有边框,可以将其设置为 null
【讨论】: