Java Swing: A list of all UIDefaults properties

后端 未结 3 1645
梦谈多话
梦谈多话 2021-01-14 02:00

Question: Where can I get a list of all UIDefaults properties that exist in Swing?

I know of the possibility to write a small snippet of code that just extracts and

3条回答
  •  清歌不尽
    2021-01-14 02:42

    Not all properties come from Sun. For example, Mac OS lists 654 properties + 51 specific to apple.laf.AquaLookAndFeel. Here's some code if others want to submit results:

    import javax.swing.UIDefaults;
    import javax.swing.UIManager;
    
    public class CountUIDefaults {
    
        public static void main(String[] args) throws Exception {
            System.out.println(System.getProperty("os.name")
                + " " + System.getProperty("os.version")
                + " " + System.getProperty("java.version"));
            UIManager.LookAndFeelInfo[] lfa =
                UIManager.getInstalledLookAndFeels();
            for (UIManager.LookAndFeelInfo lf : lfa) {
                UIManager.setLookAndFeel(lf.getClassName());
                UIDefaults uid = UIManager.getLookAndFeelDefaults();
                System.out.println("***"
                    + " " + lf.getName()
                    + " " + lf.getClassName()
                    + " " + uid.size() + " entries");
            }
        }
    }
    
    Mac OS X 10.5.8 1.6.0_17
    *** Metal javax.swing.plaf.metal.MetalLookAndFeel 636 entries
    *** Nimbus com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel 1052 entries
    *** CDE/Motif com.sun.java.swing.plaf.motif.MotifLookAndFeel 550 entries
    *** Mac OS X com.apple.laf.AquaLookAndFeel 705 entries
    

提交回复
热议问题