我有JOptionPane
。如果用户未在10分钟内单击它,则JOptionPane
应自动单击“确定”。
我该怎么做?
答案 0 :(得分:2)
首先,从JDialog
对象创建JOptionPane
。然后,创建一个运行10分钟(600,000毫秒)的计时器,并在对话结束后处理它。然后,从JOptionPane
对象中检索所选值,确保在计时器处理对话框时考虑未初始化的值。
import javax.swing.JDialog;
import javax.swing.JOptionPane;
import javax.swing.Timer;
public class Tester {
public static void main(String[] args) {
final JOptionPane pane = new JOptionPane("Hello world?", JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION);
final JDialog dialog = pane.createDialog(null, "Hello world");
Timer timer = new Timer(600000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
dialog.dispose();
}
});
timer.start();
dialog.setVisible(true);
dialog.dispose();
Integer choice = (Integer) (pane.getValue() == JOptionPane.UNINITIALIZED_VALUE ? JOptionPane.OK_OPTION : pane.getValue());
}
}