`

利用JOptionPane创建JDialog,实现对话框的自动关闭

阅读更多

第一次做GUI项目,有一个功能是要检查计算机信息,如果出现异常信息 会自动弹出窗口,显示警告,用户可以主动去关闭,如果用户没有主动关闭窗口,该窗口30秒后自动关闭。

 

因为只是简单的提示,相对应JDialog,JOptionPane可以省很多代码,而JOptionPane,没有发现怎样做到自动关闭。

 

看了一遍API发现可以利用JOptionPane来创建JDialog。这样就省去很多事了。

 

package learn;

import java.util.Timer;
import java.util.TimerTask;

import javax.swing.JDialog;
import javax.swing.JOptionPane;

/**
 * 第一次做GUI项目,有一个功能是要检查计算机信息,如果出现异常信息 会自动弹出窗口,显示警告,用户可以主动去关闭,如果用户没有主动关闭窗口,该窗口30秒后自动关闭。
 * 因为只是简单的提示,相对应JDialog,JOptionPane可以省很多代码,而JOptionPane,没有发现怎样做到自动关闭。
 * 看了一遍API发现可以利用JOptionPane来创建JDialog。这样就省去很多事了。
 * @author 
 * @since 
 */
public class AutoClose {

    /**
     * 测试对话框自动关闭
     * 
     * @param args
     */
    public static void main(String[] args) {

        JOptionPane op = new JOptionPane("本对话框将在30秒后关闭",JOptionPane.INFORMATION_MESSAGE);
        final JDialog dialog = op.createDialog("服务器自检异常");
        
        // 创建一个新计时器
        Timer timer = new Timer();

        // 30秒 后执行该任务
        timer.schedule(new TimerTask() {
            public void run() {
                dialog.setVisible(false);
                dialog.dispose();
            }
        }, 30000);

        dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
        dialog.setAlwaysOnTop(true);
        dialog.setModal(false);
        dialog.setVisible(true);
    }

}

 

分享到:
评论

相关推荐

    2中方法实现对话框

    标题中的“2种方法实现对话框”意味着我们将探讨在编程中创建对话框的两种常见技术。对话框通常在用户需要进行交互或确认某些操作时出现,例如保存文件、选择选项或者显示警告信息。在IT领域,对话框是人机交互的...

    比较全面的JDialog 和 JOptionPane的demo

    在Java编程语言中,`JDialog`和`JOptionPane`是两种用于创建对话框的组件,它们在用户界面设计中扮演着重要的角色。对话框通常用于向用户展示信息、请求输入或者确认操作,使得交互更加直观和友好。下面将详细讨论这...

    对话框的几种实现方式

    在Qt中,可以继承`QDialog`并重写`exec`方法,而在Java Swing中,可以使用`JDialog`类来创建非模态对话框。 三、系统对话框(System Dialog Box) 系统对话框是由操作系统提供的标准对话框,例如“打开文件”、...

    java点击按钮弹出自定义对话框

    2. **使用JDialog创建对话框** - 创建JDialog实例:`JDialog parent, boolean modal`,`parent`是对话框的父窗口,`modal`决定是否为模态对话框(用户必须关闭对话框才能与父窗口交互)。 - 添加组件:使用`add()`...

    模态对话框与非模态对话框程序Java示例

    在Java编程中,对话框(Dialog)是一种非常重要的用户...通过JOptionPane和JDialog类,开发者可以方便地在Java应用程序中实现这两种对话框。在实际项目中,可以根据用户需求和交互设计来灵活选择使用哪种类型的对话框。

    swing中自定义对话框的几种实际用法

    自定义对话框通常基于JDialog类来实现。首先,你需要创建一个JDialog实例,然后添加需要的组件,如按钮、文本字段、标签等。以下是一段基本的自定义对话框创建代码: ```java import javax.swing.*; public class ...

    java显示消息对话框

    除了基本的对话框类型外,还可以自定义对话框,通过创建`JFrame`或`JDialog`实例,添加`JOptionPane`的实例以及其他组件,然后设置对话框的布局和属性。这样可以获得更复杂的对话框效果。 在实际编程中,消息对话框...

    (java)Swing中弹出对话框的几种方式

    JOptionPane类在Swing中扮演着关键角色,它提供了一系列静态方法用于创建各种标准对话框,如确认对话框、输入对话框、消息对话框以及选项对话框。这些对话框均为模式对话框,意味着它们会阻止用户与主窗口的其他部分...

    实现两种对话框

    它将作为`mainFrame`窗口的子对话框出现,并在用户关闭后自动释放资源。 自定义对话框的优点在于灵活性和可扩展性,可以满足复杂的交互需求。然而,这也意味着需要更多的代码量和设计工作。在实际开发中,通常会...

    JavaJoptionPane

    在Java Swing图形用户界面编程中,`JOptionPane`是一个非常实用的类,用于快速创建简单的对话框。这些对话框通常用于显示警告、错误信息或请求用户输入。本文将详细介绍`JOptionPane`类中的几种常用方法及其应用场景...

    4种不同类型的对话框.zip

    在C#中,`InputBox`或者`Console.ReadLine()`可以创建这样的对话框,而在Java中,`JOptionPane.showInputDialog()`可以显示一个带有输入字段的对话框。这些对话框通常用于获取用户名、密码或其他必要的信息。 3. ...

    初级对话框

    如果标准的`JOptionPane`或`JDialog`不能满足需求,开发者可以创建自定义对话框,继承`JFrame`或`JDialog`,并添加所需的组件和布局。 7. **设计原则** 设计对话框时,应考虑用户体验,保持简洁明了,避免过多的...

    JOptionPane高级编程技巧.pdf

    此时,`JOptionPane`无法自动关闭对话框,需要通过注册`PropertyChangeListener`监听器来实现按钮事件的处理。 具体步骤如下: 1. **实现`PropertyChangeListener`监听器**:创建一个实现了`...

    Java对话框详细实例能得到用户的各种选择

    除了这些预定义的对话框,你还可以通过继承`JDialog`类或`javax.swing.JDialog`类创建自定义对话框,添加更多的组件,比如文本字段、复选框、单选按钮等,以满足更复杂的用户交互需求。 在压缩包中的`...

    blackfox-JDialog-master_java_

    在Java编程语言中,`JDialog`是Java Swing库中的一个关键组件,它用于创建对话框,这是一种特殊的窗口,通常用来向用户展示信息或者获取用户的输入。`JDialog`类是`java.awt.Dialog`的子类,专为Swing应用程序设计,...

    java 字体对话框

    4. **创建对话框**:使用`JDialog`或`JOptionPane`来创建一个包含上述组件的窗口,并设置适当的布局管理器,如`GridLayout`或`BoxLayout`。 5. **处理用户选择**:为对话框的“确定”按钮添加事件监听器,当用户...

    java swing-JOptionPane的使用(显示输入对话框)

    JOptionPane 是 Java Swing 库提供的一个方便的对话框组件,用于显示消息、接收输入和显示不同类型的对话框。 显示输入对话框

    java swing-JOptionPane的使用(显示消息对话框)

    JOptionPane 是 Java Swing 库提供的一个方便的对话框组件,用于显示消息、接收输入和显示不同类型的对话框。

    java字体对话框(附源码)

    你可以创建一个`JFontChooser`对象,并将其添加到`JFrame`或`JDialog`中,然后显示对话框让用户选择字体。 2. **showDialog()**方法:`JFontChooser`有一个`showDialog(Component parent, String title)`方法,它会...

Global site tag (gtag.js) - Google Analytics