0 0

求:监听非模态对话框的动作5

本人想实现类似记事本中的文本查找功能,点击搜索后弹出搜索对话框,我怎样才能知道用户什么时候点击了对话框中的“查找”按钮呢,同时得到要搜索的文字?
2009年6月05日 09:34

1个答案 按时间排序 按投票排序

0 0

采纳的答案

    我说一个实现途径, 但我不知道Swing中是否有更好的办法.

    从你的"主界面"传一个"调用接口"给"查询窗口" [在这个"调用接口"的实现类里面可以操作"主界面"上的内容] , 在"查询窗口"点击了"查询"按钮后, "查询窗口"将查询条件传给这个"调用接口", 这个"调用接口"又可以操作"主界面", 即可完成这个效果.

    不知道是否说明白了, 这就和你在Swing上使用的各种listener是一样的意思.

简易代码如下:

interface IFilterListener {
    public void filter(String filter);
}

class MainDialog {
    // searchButton 就是主界面上调用查询窗口的按钮
    searchButton.addSelectionListener() {
        SearchDialog dialog = new SearchDialog(new SearchListener()).open();
    }
    
    // 实现
    class SearchListener implements IFilterListener {
         public void filter(String filter);
          // .... filter就是从SearchDialog得到的查询条件, 操作MainDialog的界面
         }
    }
}

class SearchDialog {
    private IFilterListener listener;

    searchButton.addSelectionListener() {
        String filter = getFilter(); // 得到查询条件
        listener.filter(getFilter()); // 通知外部的监听
    }
}

2009年6月05日 09:49

相关推荐

    cocos2d-x 之 模态对话框

    在Cocos2d-x这个强大的2D游戏开发框架中,模态对话框是不可或缺的元素,它用于在游戏运行过程中暂停当前操作并显示一个需要用户交互的窗口。模态对话框通常包含确认、警告或者信息提示等,确保用户在进行重要操作前...

    对话框Dialog

    6. **模态与非模态对话框的使用场景**:模态对话框通常用于需要用户立即做出反应的情况,例如保存文件、确认操作或输入必需的信息。非模态对话框则适用于那些可以并行进行的任务,比如设置面板,用户可以在设置的...

    DialogShow

    6. 模态和非模态对话框:模态对话框会阻止用户与父窗口交互,直到对话框关闭;非模态对话框则允许用户同时与对话框和主窗口交互。 7. 自定义对话框:开发者可以创建自定义对话框,根据需求添加特定的控件和逻辑。 ...

    在WinForms程序里实现窗体传值的最佳实践

    2. **非模态传值**:对于非模态对话框,我们首先检查对话框是否已经被创建过。如果没有,则创建一个对话框实例,并将当前文本框的值传递给它。接着,我们注册事件处理程序来监听对话框的值变化(通过`TextBoxChanged...

    java弹出模式窗口

    ### Java弹出模式窗口知识点详解 ...同时,结合事件监听机制和数据库访问技术,我们可以轻松地实现一个具有登录验证功能的模态对话框。希望本文能够帮助读者更好地理解Java Swing中模态对话框的创建及应用。

    C++基础面试题

    C++基础面试题涵盖了许多关键概念,包括COM、Winsock、Win32 API函数、窗口创建、模态对话框和非模态对话框的区别、Windows消息类型以及多态中的静态关联和动态关联。以下是这些知识点的详细解释: 1. **COM(组件...

    第9章Java-Swing图形用户界面-Java面向对象程序设计教程-微课视频-程杰-清华大学出版社.pptx

    Java Swing提供了一系列丰富的组件,如JButton、JLabel、JTextArea等,这些组件比AWT中的相应组件更加现代,支持模态和非模态对话框,以及可定制的外观和感觉(Look and Feel)。Swing构建在AWT之上,但是使用轻量级...

    OPSCexit:使用转义键关闭OpsCenter模态和对话框

    标题中的“OPSCexit:使用转义键关闭OpsCenter模态和对话框”表明,OPSCexit是一个专门针对OpsCenter的Chrome扩展程序。OpsCenter通常是指用于管理大数据平台(如Cassandra)的监控和管理工具。这个扩展的主要功能是...

    JS练习点击按钮弹出带选项小页面填进文本框

    这个练习旨在提升开发者对DOM操作、事件处理、模态对话框以及用户输入处理的理解和应用。下面将详细介绍这些知识点。 1. **事件处理**:在JavaScript中,事件是用户与网页交互时发生的动作,如点击按钮。通过添加...

    js划词弹出模态div特效

    这种技术的核心在于利用JavaScript监听用户的鼠标动作,当用户在网页上选择(划词)文本时,会触发一个模态对话框(modal div)弹出,通常用于显示与所选文本相关的信息或功能,如分享、翻译等。 首先,我们要理解...

    【教程】100个Java GUI swing的小程序.rar

    - JDialog:用于创建模态和非模态对话框。 - JOptionPane:提供预定义的对话框,如信息提示、确认、输入对话框等。 6. **外观(Look and Feel)** - Swing支持更改应用程序的视觉风格,这称为LookAndFeel。可以...

    基于Java语言的控制窗口.zip

    14. **模态和非模态对话框**:在JavaFX中,Stage类可以创建模态和非模态对话框,模态对话框会阻止用户与父窗口进行交互,直到对话框关闭。 15. **JavaFX FXML**:FXML是一种XML格式,用于声明式地定义UI布局,与MVC...

    accessible-modal:可访问的模态组件

    "accessible-modal: 可访问的模态组件"的标题表明我们将讨论一个专门设计为对残障人士友好的模态对话框组件。接下来,我们将深入探讨可访问模态组件的关键知识点,以及如何使用JavaScript来实现它。 首先,了解模态...

    2021-2022计算机二级等级考试试题及答案No.16274.docx

    20. 模态对话框:非模态对话框允许用户在处理对话框的同时与应用程序的其他部分交互。 21. 过程调用:在过程调用中,形参和实参的数量必须相等,类型匹配,但变量名不必相同。 22. 浏览网页:要浏览网页,必须知道...

    Java_Swing程序设计

    Swing也支持模态对话框和非模态对话框,方便创建提示用户输入或确认操作的窗口。 总的来说,Java Swing程序设计涵盖了组件使用、布局管理、事件处理、界面定制和高级组件等多个方面。通过深入学习和实践,开发者...

    jquery弹出半透明遮罩层

    "jQuery弹出半透明遮罩层"是一个常见的功能,用于创建一种半透明的覆盖层,通常用于加载提示、模态对话框或阻止用户在特定操作期间与页面其余部分交互。在这个场景中,我们讨论的知识点主要包括jQuery的选择器、DOM...

    Swing讲义Swing讲义

    - `JDialog`:弹出式对话框,可以是模态或非模态。 10. **Swing工具类**: - ` SwingUtilities`:包含与Swing相关的实用方法,如`invokeLater()`用于在EDT上执行任务。 通过理解和掌握这些Swing知识点,开发者...

    jquery点击弹出登陆窗口.rar

    这些元素可以通过jQuery的DOM操作方法添加到页面上,或者如果使用了预定义的模态对话框插件,如Bootstrap的`modal`,则可以直接调用相应的API。 对于“C#”标签,虽然主要讨论的是jQuery,但我们可以假设后端可能...

    bootstrap metro风格

    4. **JavaScript插件**:Bootstrap包含了一些常用的JavaScript插件,如滚动监听、模态对话框、折叠内容等,通过简单的数据属性和JavaScript方法即可实现功能。 Metro风格的主要特点有: 1. **方格布局**:Metro设计...

    Java软件开发实战 Java基础与案例开发详解 14-3 AWT常用组件 共22页.pdf

    - `Dialog(Dialog owner, String title, boolean modal)`:创建一个带有指定标题和模态属性的对话框。 - **常用方法**: - `setTitle(String title)`:设置对话框的标题。 - `setVisible(boolean b)`:设置对话框...

Global site tag (gtag.js) - Google Analytics