showMessageDialog没有这个功能,自己定义下才行
JDialog jDialog =new JDialog();
jDialog.add(new JLabel("test"));
jDialog.setSize(300, 100);
jDialog.setLocationRelativeTo(null);
jDialog.setVisible(true);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
jDialog.dispose();
楼上的兄弟说模拟一个键盘事件,我这样做成了,贴一下代码出来分享一下。
1,在要调用键盘事件的包里建立一个类,代码:
import java.awt.Robot;
import java.awt.event.KeyEvent;
public class PressESC implements Runnable{
Robot robot;
public PressESC(Robot robot){
this.robot = robot;
}
public void run() {
robot.delay(1000);
robot.keyPress(KeyEvent.VK_ESCAPE);
robot.delay(150);
robot.keyRelease(KeyEvent.VK_ESCAPE);
}
}
2,在要调用这个pressESC的类(ClassTest)中创建Robot 类:
try {
Robot robot = new Robot();
} catch (Exception e) {
}
3,在弹出信息前创建新线程,调用这个键盘事件:
(new Thread(new PressESC(ClassTest.robot))).start();
JOptionPane.showMessageDialog(null, "设定成功");
这两句话的顺序不能写反。
用JOptionPane.createDialog 得到一个JDialog 。JDialog .show显示出来
用定时器Timer,定一个TimerTask在3秒钟后执行JDialog.hide()隐藏不显示和JDialog .dispose释放
如果是测试,模拟一个esc键盘事件就是了。