📄 timeoutoptionpane.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 + -