更改 AWT 文本字段的边框颜色

2022-09-04 20:58:30

在AWT应用程序中,我需要设置文本字段的边框颜色。

在JTextField中,我知道我们可以做到以下几点

JTextField tf = new JTextField();
tf.setBorder(BorderFactory.createLineBorder(Color.decode("#2C6791")));

但是 setBorder() 方法在 awt TextField 中不可用。此问题是否有任何解决方法?


答案 1

正如您所发现的那样,AWT 不支持边框。您可以通过将文本字段放在略大于文本字段的中并更改面板的背景颜色来模拟边框。TextFieldPanel


答案 2

为了与外观变体兼容,setBorder() API 建议如下:“通常,当您想要在 或 以外的标准 Swing 组件上设置边框时,我们建议您将组件放在 中,并将边框设置在 .”JPanelJLabelJPanelJPanel

附录:虽然这暗示了一种方法,但它与纯AWT应用程序无关。


推荐