更改默认的JLabel字体

我该如何设置所有JLabel实例的默认字体。 而不是单独为每个JLabel设置字体。

使用UIManager定义JLabel的默认字体:

 import java.awt.FlowLayout; import java.awt.Font; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.UIManager; public class LabelFont { public static void main(String[] args) { Font oldLabelFont = UIManager.getFont("Label.font"); UIManager.put("Label.font", oldLabelFont.deriveFont(Font.PLAIN)); JFrame f = new JFrame("LabelFont Test"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().setLayout(new FlowLayout()); JLabel df = new JLabel("Default JLabel font"); f.getContentPane().add(df); JLabel ef = new JLabel("Font explicitly set"); ef.setFont(oldLabelFont); f.getContentPane().add(ef); f.pack(); f.setVisible(true); } } 

通过: http : //coding.derkeiler.com/Archive/Java/comp.lang.java.help/2005-04/msg00395.html

这是你想要的?

 import java.awt.FlowLayout; import java.awt.Font; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.UIManager; public class LabelFont { public static void main(String[] args) { Font oldLabelFont = UIManager.getFont("Label.font"); UIManager.put("Label.font", oldLabelFont.deriveFont(Font.PLAIN)); JFrame f = new JFrame("LabelFont Test"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().setLayout(new FlowLayout()); JLabel df = new JLabel("Default JLabel font"); f.getContentPane().add(df); JLabel ef = new JLabel("Font explicitly set"); ef.setFont(oldLabelFont); f.getContentPane().add(ef); f.pack(); f.setVisible(true); } }