在java中动态改变TitledBorder颜色

2024-01-07

我创建了一个 TitledBorder 并将其设置为 JPanel。

JPanel panel = new JPanel();
panel.setBorder(javax.swing.BorderFactory.
      createTitledBorder(null, "title", javax.swing.border.
      TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.
      TitledBorder.DEFAULT_POSITION, null, java.awt.Color.red));

现在我想改变边框标题文本的颜色;如果可能的话,还有边界线。我看到当我通过该方法改变边框的颜色时titledborder.setTitleColor(theColor); and revalidate() and repaint();表单面板不受影响。我还创建了新实例thiledBorder并将其分配给面板;但没有效果。是否需要更新面板,然后为其设置新的边框实例?谢谢


你没有说明如何titledborder已分配,但这就是它的工作方式:

TitledBorder titledBorder = BorderFactory.createTitledBorder(...);
panel.setBorder(titledBorder);

然后在运行时:

titledBorder.setTitleColor(theColor);
repaint(); // revalidate not necessry
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在java中动态改变TitledBorder颜色 的相关文章

随机推荐