这个问题之前已经被问过,但是从我发现的问题来看,问题和答案来自几年前,并希望有更新/新信息。
相同的代码适用于Windows,因为它在右上角显示了X. 在Linux上,右上角没有任何内容。 Windows正在使用JDK 1.8.0_60 Linux正在使用1.8.0_111-b15
基于这项研究,已知这个问题存在于不同版本的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平台上可接受的行为吗?
答案 0 :(得分:1)
我注意到发布答案的一个帖子有以下内容:
super(null, title, Dialog.ModalityType.MODELESS);
我认为应该如下:
super(null, title, Dialog.ModalityType.APPLICATION_MODAL);
对于我的测试,将上面的MODELESS更改为APPLICATION_MODAL,Linux JDialog现在显示X关闭窗口。