static void swingFontScale(double scale) { swingFontScale((float) scale); } static void swingFontScale(final float scale) swing { vm_generalMap_set('swingFontScale_value, scale); Map swingFontScale_originals = vm_generalMap_get('swingFontScale_originals); if (swingFontScale_originals == null) { vm_generalMap_set('swingFontScale_originals, swingFontScale_originals = new HashMap); for (Map.Entry entry : UIManager.getDefaults().entrySet()) { Object key = entry.getKey(); if (key.toString().toLowerCase().contains(".font")) { Object value = entry.getValue(); Font font = null; if (value instanceof UIDefaults.LazyValue) { UIDefaults.LazyValue lazy = (UIDefaults.LazyValue) entry.getValue(); value = lazy.createValue(UIManager.getDefaults()); } if (value instanceof Font) { font = (Font) value; swingFontScale_originals.put(key.toString(), font); } } } } for (Map.Entry entry : swingFontScale_originals.entrySet()) { String key = entry.getKey(); Font font = entry.getValue(); UIManager.put(key, font.deriveFont(Font.PLAIN, font.getSize()*scale)); } //revalidateAllFrames(); } static float swingFontScale() { ret or((Float) vm_generalMap_get('swingFontScale_value), 1f); }