在我的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);


谢谢

最佳答案

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

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

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


现在,在执行上述语句之后创建的所有标签都将使用新的Font创建。

09-12 10:08