簡體   English   中英

Java Swing - 如何更改JPanel的TitledBorder上的字體大小?

[英]Java Swing - How to change the font size on a JPanel's TitledBorder?

我需要能夠以編程方式更改Swing應用程序中所有組件的字體大小。 我不能以通常的方式(使用UIManager或putClientProperty)執行此操作,因為我正在使用Nimbus外觀,所以使用以下方法來單獨增加應用程序中每個組件的字體大小...

private void enlargeFont(java.awt.Component c, float factor) {
    c.setFont(c.getFont().deriveFont(c.getFont().getSize() * factor));
}

我遇到的問題是我在我的JPanel上使用TitledBorder並且(可預見地)將我的JPanel傳遞給上面的方法並不會調整JPanel的邊框標題。

那么有什么方法可以改變邊框上的字體大小? (如果我能得到邊框的文本,我可以創建一個新的TitledBorder(使用更大的字體),然后將其應用於JPanel的setBorder()方法......但似乎無法獲得邊框文本(?)。

有沒有人對如何解決有任何建議?

以下對我有用:

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    ((javax.swing.border.TitledBorder) jPanel1.getBorder()).
        setTitleFont(new Font("Arial", Font.ITALIC, 14));

    jPanel1.repaint();
}

我在NetBeans 6.9.1中測試了這個 在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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