text参数为显示给用户的提示内容,ms为时间
使用时,直接调用这个方法即可,传入提示语,和想要展示的秒数即可
public static void scheduleTask(String text, int sec) {
final Object[] options = { "确定" + "(" + sec + "s)" };
final JOptionPane op = new JOptionPane(text, JOptionPane.INFORMATION_MESSAGE, JOptionPane.DEFAULT_OPTION, null, options);
final JDialog dialog = op.createDialog("提示");
// 创建一个新计时器
TimerTask task = new TimerTask() {
@Override
public void run() {
for (int i = sec - 1; i >= 0; i--) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
options[0] = "确定" + "(" + i + "s)";
//更新UI
op.updateUI();
}
dialog.setVisible(false);
dialog.dispose();
}
};
Timer timer = new Timer();
timer.schedule(task, 10);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setAlwaysOnTop(true);
dialog.setModal(false);
dialog.setVisible(true);
}