首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果在JDialog之外单击,则关闭JDialog

如果在JDialog之外单击,则关闭JDialog
EN

Stack Overflow用户
提问于 2019-12-16 23:23:28
回答 1查看 127关注 0票数 0

我只想在我单击JDialog之外的时候关闭JDialog

代码语言:javascript
复制
import javax.swing.JDialog;
import javax.swing.JLabel;


public class DialogFenster extends JDialog {

    public DialogFenster(String pText, String pTitel)
    {
        JDialog meinJDialog = new JDialog();
        meinJDialog.setTitle(pTitel);
        meinJDialog.setBounds(800, 500, 300, 70);
        meinJDialog.setModal(true);
        meinJDialog.add(new JLabel(pText));
        meinJDialog.setVisible(true);
    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-12-17 09:24:43

您可以使用WindowListener来了解对话框是否已失去焦点:

代码语言:javascript
复制
JDialog dialog = new JDialog(frame, false);//false for not modal
dialog.addWindowListener(new WindowAdapter() {
    public void windowDeactivated(WindowEvent e) {
        dialog.dispose();
    }
});
dialog.setVisible(true);

但它必须是非模式对话框。如果它是模态的,windowDeactivated将永远不会被调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59359557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档