⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timeoutoptionpane.java

📁 MyDownloader 是一款使用 http 协议(RFC 1867)用于下载一个或多个文件到本地的简单易用的收费 Java 程序.使用托拽操作,你可以在一个页面内下载多个文件.在下载文件的过程当中
💻 JAVA
字号:
/*
 * Copyright 2007 JavaAtWork All rights reserved.
 * Use is subject to license terms.
 */
package com.javaatwork.mydownloader.dialog;

import java.awt.Component;

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

/**
 * Shows a dialog during a specified number of seconds.
 * 
 * @author Johannes Postma
 */
public class TimeOutOptionPane extends JOptionPane {

	private static final long serialVersionUID = -6406087914305232727L;
	public final static int DOWNLOAD_OPTION = 10000;
	public final static int JAVAATWORK_OPTION = 10001;
	private final static int SHOW_TIME = 8;
	
	/**
	 * Creates a new TimeoutOptionPane.
	 */
    public TimeOutOptionPane() {
        super();
    }

    /**
     * Shows a dialog during a specified number of seconds.
     * 
     * @param parentComponent The parent component.
     * @return DOWNLOAD_OPTION or JAVAATWORK_OPTION
     */
    public static int showTimeoutDialog(Component parentComponent) {
    	
    	Object[] options = {"www.javaatwork.com"};
    	String message = "JavaAtWork\n\nThis is a trial version.\nTo remove this dialog buy the full version.\n\n";
    	
        JOptionPane pane = new JOptionPane(message, JOptionPane.INFORMATION_MESSAGE, -1, null, options);

        final JDialog dialog = pane.createDialog(parentComponent, "Time left: " + TimeOutOptionPane.SHOW_TIME + " seconds");
       
        Runnable r = new Runnable() {
        	
        	public void run() {
        	
        		try {
        			
                    for (int i = TimeOutOptionPane.SHOW_TIME; i >= 0; i--) {
                        
                    	if (i != TimeOutOptionPane.SHOW_TIME) {
                    		Thread.sleep(1000);
                    	}
                    	
                    	if (dialog.isVisible()) {
                            dialog.setTitle("Time left: " + i + " seconds"); 
                        }
                    }
                                       
                    if (dialog.isVisible()) {
                        dialog.setVisible(false);
                    }
                    
                } catch (Throwable t) {
                	// do nothing
                }
        	}
        };
        
        Thread t = new Thread(r);
        t.start();
        
        dialog.setVisible(true);

        if (pane.getValue().equals("www.javaatwork.com")) {
        	return TimeOutOptionPane.JAVAATWORK_OPTION;
        } else {        	
        	return TimeOutOptionPane.DOWNLOAD_OPTION;
        }       
    }
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -