我有一个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上,而不是在所有窗口的左上角有三个小圆圈(红色,黄色和绿色),它们只显示为三个不可点击的小灰圈
答案 0 :(得分:2)
您正在构建JInternalFrame
“创建一个具有指定标题的不可调整大小,不可关闭,不可最大化,不可图标化JInternalFrame
。”你想要这样一个:
super("Name", true, true, true, true);
答案 1 :(得分:2)
不要在框架的构造函数中调用UIManager.setLookAndFeel()
。而是在使用SwingUtilities.invokeLater()
创建框架和EDT之前执行此操作。