簡體   English   中英

在Java中動態更改TitledBorder顏色

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM