public boolean equals(Object obj) { if (this == obj) return true; if (!(obj instanceof LookAndFeelInfo)) return false; LookAndFeelInfo other = (LookAndFeelInfo) obj; return getName().equals(other.getName()) && getClassName().equals(other.getClassName()); }
public void setLookAndFeel(LookAndFeelInfo lookAndFeel) { if (lookAndFeel == null) throw new NullPointerException(); if (this.lookAndFeel != lookAndFeel) { try { UIManager.setLookAndFeel(lookAndFeel.getClassName()); JFrame.setDefaultLookAndFeelDecorated( UIManager.getLookAndFeel().getSupportsWindowDecorations()); JDialog.setDefaultLookAndFeelDecorated( UIManager.getLookAndFeel().getSupportsWindowDecorations()); PropertiesManager propertiesManager = PropertiesManager.getInstance(); String name = lookAndFeel.getName(); String className = lookAndFeel.getClassName(); propertiesManager.setProperty("lookandfeel.name", name); propertiesManager.setProperty("lookandfeel.class", className); this.lookAndFeel = lookAndFeel; // TODO: add exception throw state } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } catch (ClassCastException e) { e.printStackTrace(); } } }
private void init() { // Находим все доступные стили lookAndFeels = findAvailableLookAndFeels(); for (LookAndFeelInfo lookAndFeel : lookAndFeels) { if (lookAndFeel.getClassName() == UIManager.getCrossPlatformLookAndFeelClassName()) { defaultLookAndFeel = lookAndFeel; } } // System.out.println("$$$ " + defaultLookAndFeel.getClassName()); PropertiesManager propertiesManager = PropertiesManager.getInstance(); String name = propertiesManager.getProperty("lookandfeel.name", ""); String className = propertiesManager.getProperty("lookandfeel.class", ""); // System.out.println("###################################################"); // System.out.println("name = " + name); // System.out.println("className = " + className); LookAndFeelInfo lookAndFeel = new LookAndFeelInfo(name, className); // System.out.println("$$$ " + lookAndFeel.getClassName()); if (lookAndFeels.contains(lookAndFeel)) { lookAndFeel = lookAndFeels.get(lookAndFeels.indexOf(lookAndFeel)); } else { lookAndFeel = defaultLookAndFeel; } // System.out.println("$$$ " + lookAndFeel.getClassName()); setLookAndFeel(lookAndFeel); if (FontEditor.DEBUG) { for (LookAndFeelInfo lookAndFeelInfo : lookAndFeels) { System.out.println("look & feel found -> " + lookAndFeelInfo.getName()); } System.out.println("Total look & feel(s) found: " + lookAndFeels.size()); System.out.println(); } }