JDialog没有在Linux上显示最小化/关闭按钮

时间:2017-09-26 14:05:13

标签: java linux jdialog

这个问题之前已经被问过,但是从我发现的问题来看,问题和答案来自几年前,并希望有更新/新信息。

相同的代码适用于Windows,因为它在右上角显示了X. 在Linux上,右上角没有任何内容。 Windows正在使用JDK 1.8.0_60 Linux正在使用1.8.0_111-b15

enter image description here

基于这项研究,已知这个问题存在于不同版本的Linux上。

import javax.swing.JDialog;

public class JDialogSimple{

  private JDialog dialog = new JDialog();

  public JDialogSimple() {
    dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
    dialog.setModal(true);
    dialog.pack();
    dialog.setLocation(200, 200);
    dialog.setSize(400, 400);
    dialog.setTitle("Test Dialog");
    dialog.setVisible(true);
  }

  public static void main(String args[]) {
      JDialogSimple colourDialog = new JDialogSimple();
  }
}

是否有与此相关的新信息? 这现在是Linux平台上可接受的行为吗?

1 个答案:

答案 0 :(得分:1)

我注意到发布答案的一个帖子有以下内容:

 super(null, title, Dialog.ModalityType.MODELESS);

我认为应该如下:

 super(null, title, Dialog.ModalityType.APPLICATION_MODAL);

对于我的测试,将上面的MODELESS更改为APPLICATION_MODAL,Linux JDialog现在显示X关闭窗口。