【问题标题】:How to install/configure custom Java Look-And-Feel?如何安装/配置自定义 Java Look-And-Feel?
【发布时间】:2012-02-03 02:40:32
【问题描述】:

我正在尝试安装 Sea Glass Look and Feel。我想使用属性文件安装/配置 LaF,但概述此过程的教程非常混乱。

话虽如此,任何人都可以提供有关使用属性文件安装/配置自定义 LaF 的简单分步指南吗?

【问题讨论】:

    标签: java swing properties installation look-and-feel


    【解决方案1】:

    来自他们的网站:

    要使用 Sea Glass 外观,您必须在 pom.xml 文件中包含 our Maven repository 或下载 jar 文件并将其包含在您的类路径中。有关详细信息,请参阅下载页面。

    要启用 Sea Glass 外观,请在创建任何控件之前在您的应用程序中包含以下内容:

    try {
        UIManager.setLookAndFeel("com.seaglasslookandfeel.SeaGlassLookAndFeel");
    } catch (Exception e) {
        e.printStackTrace();
    }
    

    我们还支持使用 VM 选项在命令行上设置用户界面

    -Dswing.defaultlaf=com.seaglasslookandfeel.SeaGlassLookAndFeel
    

    【讨论】:

      【解决方案2】:

      以下是使用 jar 文件安装 Sea Glass L&F 的步骤(请注意,我使用 eclipse,因此说明将在 eclipse 中)

      1. Download Maven 存储库中的 LaF jar 文件。
      2. 将 .jar 文件放在项目的指定文件夹中
      3. 在 Eclipse 中右键单击您的项目文件夹,转到“构建路径”,然后选择“配置构建路径”
      4. 在库选项卡下,单击“添加外部 Jar”并转到包含 jar 文件的文件夹
      5. 单击“确定”,然后在您的代码中转到您的 public static void main(String[] args) 并复制粘贴此 sn-p:

        try {
            UIManager.setLookAndFeel("com.seaglasslookandfeel.SeaGlassLookAndFeel");
        } catch (Exception e) {
            e.printStackTrace();
        }
        

      你去吧,现在应用了 L&F。有问题就问吧

      【讨论】:

        【解决方案3】:

        从 NB IDE 运行它没有任何问题

        来自代码

        import java.awt.*;
        import javax.swing.*;
        //import javax.swing.plaf.InsetsUIResource;
        
        public class NimbusJPanelBackGround {
        
            public NimbusJPanelBackGround() {
                JFrame f = new JFrame();
                JButton btn = new JButton("  Whatever  ");
                JButton btn1 = new JButton("  Whatever  ");
                JPanel p = new JPanel();
                p.add(btn);
                //UIManager.getLookAndFeelDefaults().put("Button.contentMargins", new InsetsUIResource(0, 0, 0, 0));
                //SwingUtilities.updateComponentTreeUI(f);
                p.add(btn1);
                f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
                f.add(p, BorderLayout.CENTER);
                f.setSize(200, 100);
                f.setLocation(150, 150);
                f.setVisible(true);
            }
        
            public static void main(String[] args) {
        
                /*try {
                for (UIManager.LookAndFeelInfo laf : UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(laf.getName())) {
                UIManager.setLookAndFeel(laf.getClassName());
                UIManager.getLookAndFeelDefaults().put("Panel.background", Color.white);
                }
                }
                } catch (Exception e) {
                e.printStackTrace();
                }*/
        
                try {
                    UIManager.setLookAndFeel("com.seaglasslookandfeel.SeaGlassLookAndFeel");
                } catch (Exception e) {
                    e.printStackTrace();
                }
        
        
                EventQueue.invokeLater(new Runnable() {
        
                    @Override
                    public void run() {
                        NimbusJPanelBackGround nimbusJPanelBackGround = new NimbusJPanelBackGround();
                    }
                });
            }
        }
        

        编辑:

        也不是来自Substance L&F emulator 的查看我的答案的通知需要用户信誉> 10k,答案被社区删除为不是答案:-)

        【讨论】:

          猜你喜欢
          • 2012-04-30
          • 1970-01-01
          • 1970-01-01
          • 2010-10-08
          • 1970-01-01
          • 1970-01-01
          • 2011-11-30
          • 1970-01-01
          相关资源
          最近更新 更多