`

利用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);
    }

}

 

分享到:
评论

相关推荐

    比较全面的JDialog 和 JOptionPane的demo

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

    java swing hack 所有代码

    4. **模态与非模态对话框**:JOptionPane用于创建简单的对话框,而JDialog可以创建更复杂的模态或非模态对话框。 5. ** NimbusLookAndFeel**:Swing 提供了多种外观和感觉(LookAndFeel),NimbusLookAndFeel是Java...

    基于Java的Swing实现的物流日志管理系统.zip

    7. **对话框(JOptionPane、JDialog)**:处理警告、确认或输入对话,如提示用户确认删除操作。 8. **按钮(JButton)**:触发特定事件,如提交、删除、刷新等。 9. **滚动面板(JScrollPane)**:当组件内容过多...

    Java文字跑马灯与信息窗口源代码

    在Java中,我们可以利用Swing或AWT库来创建这样的效果。Swing是Java的图形用户界面(GUI)工具包,提供了丰富的组件和功能。例如,我们可以通过JLabel或JTextArea配合定时器(Timer)来实现跑马灯效果。源代码可能...

    javaSE代码实例

    11.6.2 如何启用/关闭断言 220 11.6.3 防止滥用断言 222 11.7 小结 222 第12章 封装类——鸿沟之上的桥梁 223 12.1 封装类的基本知识 223 12.1.1 封装类概述 223 12.1.2 创建封装类对象 223 12.1.3 ...

Global site tag (gtag.js) - Google Analytics