永发信息网

java 用JOptionPane.showMessageDialog(null, "获取成功!"); 打开的对话框 如何设置为3秒之后自动关闭

答案:4  悬赏:0  手机版
解决时间 2021-12-01 03:39
java 用JOptionPane.showMessageDialog(null, "获取成功!"); 打开的对话框 如何设置为3秒之后自动关闭
最佳答案
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();追问不好意思,前会我的表述有错误。 我做的是一个工具界面的测试。在被测试的方法里面有JOptionPane.showMessageDialog(null, "获取成功!");这个方法,只要我调用被测试方法,这个就提示框就会自动跳出来。我要在不改变源代码的情况下,在测试方法里面把这个提示框给自动关掉,请问有什么方法解决么。急急急。。!!追答这个好像不行,我是没办法实现你的要求了,因为JOptionPane.showMessageDialog这是一个线程阻塞的操作,它会一直等一个按钮的点击操作。或者你可以试试用代码模拟点击操作。

如果非要做测试,可以稍微的改下源代码,直接跳过JOptionPane.showMessageDialog的操作而直接给一个选定值追问OK了。但是现在又遇到个难题。那就是怎么获取提示框上按钮的坐标。还请不吝赐教。谢谢!!追答取提示框坐标?你要这功能干什么?提示框出来后是当前线程的阻塞,不能进行别的操作。而且JOptionPane.showMessageDialog是静态方法返回的是一个int值不是一个对象,所以正常的方法是取不到内容按钮的坐标的。有变通的方法来取,可那太麻烦而且也很笨拙追问因为要解决之前这个问题的话。 就必须要获取按钮的坐标,然后我让自己添加的模拟点击方法去点击获取的的按钮的坐标,那不就成功的让提示框关闭了呀。 所以这个方法也是现在我处理这个问题的唯一方法,至少目前我考虑的只有这样。还请大哥给点思路。这个问题都困扰我几天了。麻烦麻烦!! 解决了我追加悬赏。
全部回答
如果是测试,模拟一个esc键盘事件就是了。
楼上的兄弟说模拟一个键盘事件,我这样做成了,贴一下代码出来分享一下。
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释放追问不好意思,前会我的表述有错误。 我做的是一个工具界面的测试。在被测试的方法里面有JOptionPane.showMessageDialog(null, "获取成功!");这个方法,只要我调用被测试方法,这个就提示框就会自动跳出来。我要在不改变源代码的情况下,在测试方法里面把这个提示框给自动关掉,请问有什么方法解决么。急急急。。!!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我想咨询一下,农村自家的住房院子内的搞建筑
贵阳富康学校校长喻亮铭的剪发视屏有吗?他的
如何学会听骰子点数
洛阳有发往焦作(博爱)的物流公司吗?~~急于知
天津哪里有学烹饪学校
太多的回忆难割舍难忘记
神武6技能打什么掉1号位用垃圾高级书
每袋大米10kg,100袋重多少吨
断了右手一根小拇指.,可以做残疾证吗.如果可
LG p500版本区别
如何评定林学专业技术和技能优势
谜底是文化的字谜
从2012年秋季学期开始,西藏自治区全面实行15
江山看不尽,最美镜中人,这句古诗全文谁有
我这里需要盖一个公司的章,但是我不在当地怎
推荐资讯
木材材积速查表长四米宽三十公分高三十公分体
无法开始您的Adobe Photoshop CS5.1 Extended
副歌有句歌词是还是一个人,是什么歌
原始美术的功能
もらったから と もらって的区别?
已亥杂诗已是读ji还是yi
单选题PapermakingbeganinChinaandfromher
吃鱼骨补钙要怎么做?
清凌凌的水蓝莹莹的天演员名单
途观l使用的7档双离合是湿式还是干式
开平区唐山北京果木烤鸭烤鸡在哪里啊,我有事
做1个上口70下口20的圆锥如何下料
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?