public ThemeConfig(Configuration configuration) { this.configuration = new DataConfiguration(configuration); final LookAndFeel lookAndFeel = UIManager.getLookAndFeel(); lookAndFeelDefaults = lookAndFeel.getDefaults(); }
LookAndFeel laf = null; try { String lafClassName = UIManager.getSystemLookAndFeelClassName(); laf = (LookAndFeel) (Class.forName(lafClassName).newInstance()); } catch (ClassNotFoundException ex) { } catch (InstantiationException ex) { } catch (IllegalAccessException ex) { } if (laf != null) { laf.initialize(); button.setUI((ButtonUI) laf.getDefaults().getUI(button)); }
private Color getDefaultBackground() { Color color = null; String[] keys = new String[]{"Button.background", "Label.background", "Panel.background"}; for (String key : keys) { color = UIManager.getLookAndFeel().getDefaults().getColor(key); } if (color == null) { color = new Color(238, 238, 238); } return color; } }
private Color getDefaultBackground() { Color color = null; String[] keys = new String[]{"Button.background", "Label.background", "Panel.background"}; for (String key : keys) { color = UIManager.getLookAndFeel().getDefaults().getColor(key); } if (color == null) { color = new Color(238, 238, 238); } return color; } }
LookAndFeel lookAndFeel = UIManager.getLookAndFeel(); UIDefaults defaults = lookAndFeel.getDefaults(); defaults.put("ScrollBar.minimumThumbSize", new Dimension(30, 30));
/** @return window text foreground color * @since 1.27 */ public static Color getTextFgColor() { synchronized(LFCustoms.class) { if (textFgColor == null) { Object o = UIManager.getLookAndFeel().getDefaults().get("windowText"); if (o instanceof ColorUIResource) { textFgColor = (Color) o; } else { textFgColor = Color.BLACK; Logger.getLogger(LFCustoms.class.getName()).warning("BUG: getTextFgColor: color isn't available"); } } return textFgColor; } }
private static void installLookAndFeel(final String className) { //noinspection OverlyBroadCatchBlock try { Class<?> lnfClass = Class.forName(className, true, Thread.currentThread().getContextClassLoader()); final LookAndFeel lAndF; lAndF = (LookAndFeel) lnfClass.getConstructor().newInstance(); // Reset the defaults after instantiating, but before // calling UIManager.setLookAndFeel(). This fixes the Nimbus bug DimensionUIResource dim = new DimensionUIResource(4096, 4096); lAndF.getDefaults().put("ScrollBar.maximumThumbSize", dim); UIManager.setLookAndFeel(lAndF); } catch (Exception e) { final String systemName = UIManager.getSystemLookAndFeelClassName(); // Prevents an infinite recursion that's not very likely... // (I like to code defensively) if (!className.equals(systemName)) { installLookAndFeel(systemName); } else { // Feel free to handle this any other way. //noinspection ProhibitedExceptionThrown throw new RuntimeException(e); } } }
private void setDefaults() { this.setEditable(false); this.setCursor(null); this.setBorder(null); this.setBackground(new Color(UIManager.getLookAndFeel().getDefaults().getColor("Label.background").getRGB())); this.setForeground(new Color(UIManager.getLookAndFeel().getDefaults().getColor("Label.foreground").getRGB())); } }
public void initialize() { try { LookAndFeel laf = (LookAndFeel)Class.forName( UIManager.getSystemLookAndFeelClassName()).newInstance(); UIDefaults systemDefaults = laf.getDefaults(); Enumeration keys = systemDefaults.keys(); String key; while ( keys.hasMoreElements() ) { key = keys.nextElement().toString(); if ( key.contains( "InputMap") ) { UIManager.getDefaults().put( key, systemDefaults.get( key)); } } } catch ( Exception ex) { //ex.printStackTrace(); } }
@Override public void setTree(Tree root) { LookAndFeel theme = UIManager.getLookAndFeel(); UIDefaults themeDefaults = theme.getDefaults(); Color textColor = (Color)themeDefaults.get("textText"); setTextColor(textColor); super.setTree(root); }
package com.stackoverflow.laf; import javax.swing.SwingUtilities; import javax.swing.UIDefaults; import javax.swing.UIManager; public class ListLAFUIDefaults { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { try { // Choose LAF UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); } catch (Exception e) { e.printStackTrace(); } UIDefaults defaults = UIManager.getLookAndFeel().getDefaults(); System.out.println(defaults); // Check a property String propertyKey = "defaultFont"; System.out.println(UIManager.getLookAndFeel().getName() + (defaults.containsKey(propertyKey) ? " contains " : " doesn't contain ") + "property " + propertyKey); } }); } }
private Screen() { Font font = new JLabel().getFont(); float scaling = 1; int size = font.getSize(); int fontScalingPercent = Settings.getInstance().get(Keys.SETTINGS_FONT_SCALING); int s = fontScalingPercent * size / 100; if (s != size) { scaling = ((float) s) / size; size = s; font = font.deriveFont((float) s); for (Object key : javax.swing.UIManager.getLookAndFeel().getDefaults().keySet()) { if (key.toString().endsWith(".font")) javax.swing.UIManager.put(key, font); if (!IS_MAC) { // macOS has its own icon handling if (key.toString().endsWith(".icon") || key.toString().endsWith("Icon")) { Icon icon = UIManager.getIcon(key); if (icon != null) javax.swing.UIManager.put(key, new ScaleIcon(icon, scaling)); } } } UIManager.put("ScrollBar.width", size * 17 / 12); } this.scaling = scaling; this.size = size; this.font = font; }
/** * Use Aqua settings for some properties if we're on a Mac. * * @param d the UI defaults map. */ private void defineAquaSettings(UIDefaults d) { try { // Instantiate Aqua but don't install it. Class<?> lnfClass = Class.forName(UIManager.getSystemLookAndFeelClassName(), true, Thread.currentThread().getContextClassLoader()); LookAndFeel aqua = (LookAndFeel) lnfClass.newInstance(); UIDefaults aquaDefaults = aqua.getDefaults(); // Use Aqua for any menu UI classes. d.put("MenuBarUI", aquaDefaults.get("MenuBarUI")); d.put("MenuUI", aquaDefaults.get("MenuUI")); } catch (Exception e) { // TODO Should we do something with this exception? e.printStackTrace(); } }
@Override public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) { final Component component = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); final UIManager.LookAndFeelInfo feelInfo = (UIManager.LookAndFeelInfo) value; ((JLabel) component).setText(feelInfo.getName()); try { final LookAndFeel lf = (LookAndFeel) Class.forName(feelInfo.getClassName()).newInstance(); component.setBackground(lf.getDefaults().getColor(isSelected ? "ComboBox.selectionBackground" : "Label.background")); component.setForeground(lf.getDefaults().getColor(isSelected ? "ComboBox.selectionForeground" : "Label.foreground")); component.setFont(lf.getDefaults().getFont("Label.font")); } catch (Throwable e) { LOGGER.error("Can't get look and feel properties for " + feelInfo.getName() + "/" + feelInfo.getClassName(), e); } if (isSelected) { ((JLabel) component).setBorder(BorderFactory.createLineBorder(Color.BLACK)); } else { ((JLabel) component).setBorder(null); } return component; } }
UIDefaults defaults = lookAndFeel.getDefaults(); defaults.put("ScrollBar.minimumThumbSize", new Dimension(30, 30));
/** @return window text foreground color as html code * @since 1.27 */ public static String getTextFgColorHTML() { synchronized(LFCustoms.class) { if (textFgColorHTML.isEmpty()) { Object o = UIManager.getLookAndFeel().getDefaults().get("windowText"); if (o instanceof ColorUIResource) { ColorUIResource resource = (ColorUIResource)o; textFgColorHTML = "<font color=#" + getHexString(resource.getRed()) + getHexString(resource.getGreen()) + getHexString(resource.getBlue())+">"; } else { textFgColorHTML = "<font color=#000000>"; Logger.getLogger(LFCustoms.class.getName()).warning("BUG: getTextFgColorHTML: color isn't available"); } } return textFgColorHTML; } }
private static void scaleDefaultUIFonts(double scalingFactor) { Set<Object> keySet = UIManager.getLookAndFeelDefaults().keySet(); Object[] keys = keySet.toArray(new Object[keySet.size()]); final UIDefaults uiDefaults = UIManager.getDefaults(); final UIDefaults lookAndFeelDefaults = UIManager.getLookAndFeel().getDefaults(); for (Object key : keys) { if (isFontKey(key)) { Font font = uiDefaults.getFont(key); if (font != null) { font = UITools.scaleFontInt(font, scalingFactor); UIManager.put(key, font); lookAndFeelDefaults.put(key, font); } } } }
/** Create a new instance of NBTheme */ public NbTheme(URL themeURL, LookAndFeel lf) { this.themeURL = themeURL; defaults = lf.getDefaults(); initThemeDefaults(); parseTheme(); UIManager.getDefaults().putAll (defaults); }
final UIDefaults uiDefaults = UIManager.getLookAndFeel().getDefaults();
protected void installIcons(VFSJFileChooser fc) { UIDefaults defaults = UIManager.getLookAndFeel().getDefaults(); directoryIcon = lookupIcon("folder.png"); fileIcon = lookupIcon("file.png"); computerIcon = defaults.getIcon("FileView.computerIcon"); hardDriveIcon = defaults.getIcon("FileView.hardDriveIcon"); floppyDriveIcon = defaults.getIcon("FileView.floppyDriveIcon"); newFolderIcon = lookupIcon("folder_add.png"); upFolderIcon = lookupIcon("go-up.png"); homeFolderIcon = lookupIcon("folder_user.png"); detailsViewIcon = lookupIcon("application_view_detail.png"); listViewIcon = lookupIcon("application_view_list.png"); viewMenuIcon = defaults.getIcon("FileChooser.viewMenuIcon"); }