首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java -外观和感觉问题

Java -外观和感觉问题
EN

Stack Overflow用户
提问于 2012-04-20 13:28:50
回答 3查看 2.1K关注 0票数 0

我对java的外观和感觉有问题。

在我的主要方法中,我使用以下代码将其设置为Nimbus皮肤:

代码语言:javascript
复制
public class Main
{
    public static void main(String[] args)
    {
        try
        {
            boolean found = false;
            for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels())
            {               
                if ("Nimbus".equals(info.getName()))
                {
                    UIManager.setLookAndFeel(info.getClassName());
                    found = true;
                    break;
                }
            }

            if (!found) UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            UIManager.put("AuditoryCues.playList", UIManager.get("AuditoryCues.allAuditoryCues"));
        }
        catch (Exception e) {}

        Manager mngr = new Manager();
        mngr.setSize(1000, 600);
        Utils.centerWindow(mngr);
        mngr.setVisible(true);
    }
}

它给了我这种窗户:

正如您所看到的,JInternalFrames是正确的皮肤,但主窗口不是!

如何将主题也应用于此窗口?

谢谢。

Manager是一个简单的JFrame,有以下代码:

代码语言:javascript
复制
public class Manager extends JFrame
{
    public Manager()
    {
        initComponents();
    }

    private void initComponents()
    {
        setDefaultCloseOperation(3);
        setTitle("My window");
        setIconImage(ImageLoader.getIcon().getImage());

        // My components go here

        pack();
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-20 16:49:20

在框架/对话框创建之前,只需尝试打开这两个选项:

代码语言:javascript
复制
JDialog.setDefaultLookAndFeelDecorated ( true );
JFrame.setDefaultLookAndFeelDecorated ( true );

这将允许JFrame/JDialog从LaF而不是系统中获得它们的装饰。

票数 0
EN

Stack Overflow用户

发布于 2012-04-20 13:44:01

  • 你读过关于Nimbus外观和感觉的教程
  • 也许你的问题是关于启动后改变外观和感觉
  • SSCCE编辑您的问题,演示main window ???的问题
票数 3
EN

Stack Overflow用户

发布于 2012-04-20 16:27:28

如果没有一个好的SSCCE,我不知道该为您做什么,但是如果您想要一个总是对我有用的方法的例子,您可以看看github上的爪哇-助理员。具体来说,看看SwingHelper at 这条线。我在下面添加代码是为了遵守堆栈溢出的一些基本规则;)祝您好运。

代码语言:javascript
复制
  /**
   * Sets the look and feel to the given type (like "Nimbus") Learn more here:
   * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
   *
   * @param lookAndFeel to set (like "Nimbus")
   */
  public static void setLookAndFeel(String lookAndFeel) {
    try {
      for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
        if ((info.getName()).equals(lookAndFeel)) {
          javax.swing.UIManager.setLookAndFeel(info.getClassName());
          break;
        }
      }
    } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
      java.util.logging.Logger.getLogger(SwingHelper.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10247218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档