我创建了一个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
的新实例并将其分配给面板;但没有效果。是否需要更新面板,然后将其设置为新的边框实例?谢谢
答案 0 :(得分:5)
您没有说明如何分配titledborder
,但这是如何运作的:
TitledBorder titledBorder = BorderFactory.createTitledBorder(...);
panel.setBorder(titledBorder);
然后在运行时:
titledBorder.setTitleColor(theColor);
repaint(); // revalidate not necessry
答案 1 :(得分:2)
如果您知道您的面板有标题边框,您可以这样做:
TitledBorder titledBorder = (TitledBorder)jPanel1.getBorder();
titledBorder.setTitleColor(Color.red);