java - 在 java 中动态更改 TitledBorder 颜色

标签 java swing jpanel border titled-border

我创建了一个 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);revalidate()repaint() 更改边框的颜色时;表格面板不受影响。我还创建了 thiledBorder 的新实例并将其分配给面板;但没有效果。是否需要更新面板,然后将其设置为新的边框实例?谢谢

最佳答案

您没有说明 titledborder 是如何分配的,但它是这样工作的:

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

然后在运行时:

titledBorder.setTitleColor(theColor);
repaint(); // revalidate not necessry

关于java - 在 java 中动态更改 TitledBorder 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15879216/

相关文章:

java - PaintComponent Java 的问题 - Swing

java - 从 JavaFX 2.0 中的 TableView 读取选择

java - jfree图表未加载

java - 是否可以创建由现有 HBase 表支持的 Phoenix 表?

java - 优化 OS X Yosemite 的 Swing 程序

java - 如何使包含 FlowLayout 的 JPanel 居中?

java - 如何正确使用repaint()和revalidate()?

java - 在Java/Swing中,是否可以在用户需要时创建新的 "main"JPanel对象?

java - JAVA中如何将String转换成Date时间格式?

java - 诊断 Dataproc 创建集群操作中的错误(Java 库)