Java JDialog未显示最小化/关闭按钮

Java JDialog未显示最小化/关闭按钮,java,swing,user-interface,jdialog,Java,Swing,User Interface,Jdialog,在研究这个问题时,似乎大多数人都想做相反的事情(即删除最小化/关闭按钮)。 我使用重复出现的setUndercorated和setDefaultCloseOperation 这是我的密码: private class TestDialog extends JDialog { public static final String title_ = "Test Dialog"; public TestDialog(JFrame parent) { supe

在研究这个问题时,似乎大多数人都想做相反的事情(即删除最小化/关闭按钮)。 我使用重复出现的
setUndercorated
setDefaultCloseOperation

这是我的密码:

private class TestDialog extends JDialog 
{
    public static final String title_ = "Test Dialog";

    public TestDialog(JFrame parent)
    {
        super(parent,title_,true);
        setMinimumSize(new Dimension(500,500));
        setLocationRelativeTo(null);
        setUndecorated(false);
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    }
}
当我显示对话框时,我得到以下信息:

其他信息:
操作系统:Ubuntu

Java版本:1.7.0_55

不清楚哪里出了问题,但下面的完整示例适用于Ubuntu 12、Java 6;这可能有助于你解决这个问题。请注意,所有s都必须构建在上


如果您更改以下行,我已找到某种临时解决方案:

super(parent, title, true);


使用GNOME时,窗口关闭按钮将出现。但是,我不确定这会导致什么其他问题。

是否要删除关闭/最小化按钮?为什么不从JWindow而不是JDialog继承呢?我希望显示关闭/最小化按钮。考虑到JWindow没有嵌入标题栏,我认为JWindow不适合。使用JFrame而不是JDialog对于我的上下文,JDialog更适合。主要针对ModailityTanks,感谢您的回复@trashgood。试过你的例子后,我仍然没有得到你似乎得到的关闭按钮。我安装了jdk的早期版本(1.6.0),但仍然没有安装。我现在唯一能想到的是Ubuntu 14.04和/或GNOME的问题。@Harry:在使用Java 7.OK的Ubuntu 14上看起来是一样的。这似乎是GNOME外壳的问题。当我切换到Unity(Ubuntu中的默认设置)时,它可以工作。谢谢你的帮助@trashgod@Harry当前位置你是否最终找到了一个解决这个问题的方法,而不是走向统一?我现在也有同样的问题。@Fooble:恐怕没有。右键单击对话框标题区域并选择“关闭”是我找到的唯一解决方案…我很惊讶它可以编译。我得到一个“模棱两可的构造函数”错误,因为有多个构造函数与该签名匹配。然而,我找到了一种解决方法:
super(null,title,Dialog.ModalityType.MODELESS)我的错,我自己实际使用了Dialog.ModalityType.MODELESS。我从原始示例复制了代码,但忘记更改最后一个参数。
super(parent, title, true);
super(null, title, Dialog.ModalityType.MODELESS);