【问题标题】:JDialog not showing minimize/close button on LinuxJDialog 在 Linux 上未显示最小化/关闭按钮
【发布时间】:2017-09-28 21:07:20
【问题描述】:

这个问题以前曾被问过,但根据我的发现,问题和回答来自几年前,希望有更新/新信息。

同样的代码在 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 平台上公认的行为吗?

【问题讨论】:

  • 可能还取决于您的 Linux 发行版正在使用的特定 窗口管理器

标签: java linux jdialog


【解决方案1】:

我注意到发布答案的一个线程具有以下内容:

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

我认为应该是这样的:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 2016-10-04
    • 1970-01-01
    • 2012-11-22
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多