相同字体的多个实例化

时间:2015-04-06 15:27:55

标签: java swing user-interface fonts

在我的GUI代码中,几乎有几十个语句序列实例类似于:

aLabel = new JLabel("Label #1", JLabel.CENTER);
aLabel.setFont(new Font("Arial", BOLD, 14));
panelOne.add(aLabel);
aLabel = new JLabel("Label #2", JLabel.CENTER);
aLabel.setFont(new Font("Arial", BOLD, 14));
panelOne.add(aLabel);

我的问题:这是否浪费资源,因为我每次都在实例化一个新的Font对象?以下方法是否可以接受/优先?

Font commonFont = new Font("Arial", BOLD, 14);
aLabel = new JLabel("Label #1", JLabel.CENTER);
aLabel.setFont(commonFont);
panelOne.add(aLabel);
aLabel = new JLabel("Label #2", JLabel.CENTER);
aLabel.setFont(commonFont);
panelOne.add(aLabel);

由于

1 个答案:

答案 0 :(得分:2)

是的,最好分享这样的资源。

如果要更改应用程序中的所有标签,可以使用UIManager设置默认字体:

UIManager.put("Label.font", new Font(....));

现在,执行上述语句后创建的任何标签都将使用您的新字体创建。