当前位置:  开发笔记 > 编程语言 > 正文

java等待关闭对话框

如何解决《java等待关闭对话框》经验,为你挑选了1个好方法。

我有一个小程序,其中一个元素被拖放,当执行删除时,我打开一个对话框(扩展Jframe),其中应输入一些文本.问题是,我想等待关闭此对话框(实际上是按下确定按钮以便我可以从文本字段中读出数据),而不是分析用户输入的内容并根据我将决定是否丢弃被拒绝或被允许.

public void drop(DropTargetDropEvent e) {
      try{
            //popup

            Popup p = new Popup();
            p.setParmeter("enter a new name: ");
            p.setVisible(true);

            //programm wont wait before the user has pressed ok in the popup 
            System.out.println("value: " + p.getValue());

            repaint();

        } else {
            e.rejectDrop();
        }
}

我希望你明白这个主意.弹出窗口是从JFrame扩展的对话框.问题是,在用户按下确定按钮之前执行p.getValue().我尝试使用布尔变量和循环来检查是否在弹出窗口中输入了某些内容但它不起作用,对话框显示但没有textfield或ok按钮,所以我唯一能做的就是杀掉它.我对gui很新,所以我非常感谢你的帮助.提前致谢.



1> Adamski..:

如果可能的话,你应该重新实现Popup从继承JDialog代替JFrame,并调用JDialogsetModal(true)方法,这将阻止后续的代码运行,直到对话框被驳回.

或者,查看静态便捷方法JOptionPane,在许多情况下无需实现自己的定制对话框类.例如(来自JOptionPaneAPI):

显示一个信息面板,其中包含选项yes/no和消息'choose one':

JOptionPane.showConfirmDialog(null, "choose one", "choose one", JOptionPane.YES_NO_OPTION);

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有