更改AWT TextField的边框颜色

在AWT应用程序中,我需要设置TextField的边框颜色。

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

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

但是在awt TextField中无法使用setBorder()方法。 这个问题有解决方法吗?

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

为了兼容外观和感觉变化, setBorder() API建议如下:“通常,当您想在除JPanelJLabel之外的标准Swing组件上设置边框时,我们建议您将组件放在JPanel ,在JPanel上设置边框。“

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