标题栏在JInternalFrame上无法正常工作

时间:2012-05-31 08:45:49

标签: java swing jframe jinternalframe

我有一个JInternalFrame类,其构造函数如下所示:

public MyInternalFrame() {
        super("Name");
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(AutogeneFrame.class.getName()).log(Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            Logger.getLogger(AutogeneFrame.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            Logger.getLogger(AutogeneFrame.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnsupportedLookAndFeelException ex) {
            Logger.getLogger(AutogeneFrame.class.getName()).log(Level.SEVERE, null, ex);
        }

        initComponents();

    }

问题是应该位于窗口左上角的最大化,最小化和退出按钮不会显示。但是,标题“名称”确实显示在标题栏的中心。我在Mac上,而不是在所有窗口的左上角有三个小圆圈(红色,黄色和绿色),它们只显示为三个不可点击的小灰圈

2 个答案:

答案 0 :(得分:2)

您正在构建JInternalFrame“创建一个具有指定标题的不可调整大小,不可关闭,不可最大化,不可图标化JInternalFrame。”你想要这样一个:

super("Name", true, true, true, true);

答案 1 :(得分:2)

不要在框架的构造函数中调用UIManager.setLookAndFeel()。而是在使用SwingUtilities.invokeLater()创建框架和EDT之前执行此操作。