Изменение шрифта JLabel по умолчанию
-
21-09-2019 - |
Вопрос
Как бы я мог установить шрифт по умолчанию для всех 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);
}
}
Не связан с StackOverflow