Java Swing에서 Nimbus LookAndFeel 사용 후 일괄로 Font 변경
Swing 으로 Application 개발 중에 LookAndFeel을 적용 후에 일괄로 Font를 변경 하고 싶을 때가 있다
이것 저것 테스트 해보다가 아래 소스로 완료 하였다
중복된 것 처럼 보이지만 처음으로 Default 로 적용하고 나중에 LookAndFeel Default 적용하는 형태로 작업해야 한다.
java.util.Enumeration keys = UIManager.getDefaults().keys();
while (keys.hasMoreElements()) {
Object key = keys.nextElement();
Object value = UIManager.get (key);
if (value instanceof javax.swing.plaf.FontUIResource) {
UIManager.put (key, new javax.swing.plaf.FontUIResource("SanSerif",Font.PLAIN,20));
}
}
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
UIDefaults uidefaults = UIManager.getLookAndFeelDefaults();
java.util.Enumeration keys2 = uidefaults.keys();
while (keys2.hasMoreElements()) {
Object key = keys2.nextElement();
Object value = uidefaults.get(key);
if (value instanceof javax.swing.plaf.FontUIResource) {
uidefaults.put (key, new javax.swing.plaf.FontUIResource("SanSerif",Font.PLAIN,20));
}
}