繁体   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