Java Swing - How to change the font size on a JPanel's TitledBorder?
The following worked for me:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
((javax.swing.border.TitledBorder) jPanel1.getBorder()).
setTitleFont(new Font("Arial", Font.ITALIC, 14));
jPanel1.repaint();
}
I've tested this in NetBeans 6.9.1
![ban-geoengineering](https://i.stack.imgur.com/BSCrn.jpg?s=256&g=1)
ban-geoengineering
Updated on June 04, 2022Comments
-
ban-geoengineering about 2 years
I need to be able to programmatically change the font size of all the components in my Swing app. I cannot do this in the usual ways (with UIManager or putClientProperty) as I am using the Nimbus look and feel, so am using the following method to increase the font size of each component in my app individually...
private void enlargeFont(java.awt.Component c, float factor) { c.setFont(c.getFont().deriveFont(c.getFont().getSize() * factor)); }
The problem I'm having is that I am using a TitledBorder on my JPanel and (predictably) passing my JPanel into the above method doesn't resize the JPanel's border title.
So is there any way I can change the font size on the border? (If I could get the text of the border, I could then create a new TitledBorder (using a bigger font) and then apply it with the JPanel's setBorder() method... but it doesn't seem possible to get the border text(?).
Does anyone have any suggestions on how to solve?
-
Hosein Aqajani almost 7 yearsthanks, Is there any similar approach to set font for a tab title in jTabbedPane?