[英]change TitledBorder color dynamically in java
我創建了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);
方法更改邊框的顏色時titledborder.setTitleColor(theColor);
以及revalidate()
和repaint()
; 窗體上的面板不受影響。 我還創建了thiledBorder
新實例並將其分配給面板。 但沒有效果。 是否需要更新面板,然后將其設置為新的border實例? 謝謝
您沒有說明titledborder
的分配方式,但這是這樣的:
TitledBorder titledBorder = BorderFactory.createTitledBorder(...);
panel.setBorder(titledBorder);
然后在運行時:
titledBorder.setTitleColor(theColor);
repaint(); // revalidate not necessry
如果知道面板有標題邊框,則可以執行以下操作:
TitledBorder titledBorder = (TitledBorder)jPanel1.getBorder();
titledBorder.setTitleColor(Color.red);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.