我需要能够以编程方式更改Swing应用程序中所有组件的字体大小.我不能这样做在平时的方式(用UIManager的或putClientProperty)作为我使用Nimbus的外观和感觉,所以我用下面的方法来单独增加每个组件的字体大小在我的应用程序...
private void enlargeFont(java.awt.Component c, float factor) {
c.setFont(c.getFont().deriveFont(c.getFont().getSize() * factor));
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我在我的JPanel上使用TitledBorder并且(可预见地)将我的JPanel传递给上面的方法并不会调整JPanel的边框标题.
那么有什么方法可以改变边框上的字体大小?(如果我能得到边框的文本,然后我可以创建一个新的TitledBorder(使用更大的字体),然后与JPanel的setBorder()方法应用于...但它似乎并不可能得到边界文本(?).
有没有人对如何解决有任何建议?