如何让对话框倒计时自动关闭java swing, awt

king116116 2007-06-24 11:46:15
因为做了个让程序只能运行一次登入界面,再次运行弹出对话框,因为对话框不点button,下面的语句就都被堵塞,现在我要让这个对话框动态提示在5秒内关闭,并且能在5秒自动后关闭.
就像QQ游戏大厅刚进入时的提示对话框那样自动关闭,各位大大帮帮吧?
谢谢了!
...全文
1383 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuyu622 2007-06-28
  • 打赏
  • 举报
回复
郁闷了,不给分就算了,连句谢也没有,唉,什么世道....
king116116 2007-06-25
  • 打赏
  • 举报
回复
看样子人还是不能懒.
小时不要懒,大了当老板!~
yuyu622 2007-06-25
  • 打赏
  • 举报
回复
测试通过了的,主要是利用线程技术
yuyu622 2007-06-25
  • 打赏
  • 举报
回复
算了,给你一段代码
这是对话框类的

import java.awt.Frame;

import javax.swing.JDialog;
import javax.swing.JPanel;
import java.awt.*;
import javax.swing.JButton;

public class Dialog1 extends JDialog implements Runnable{
JPanel panel1 = new JPanel();
Thread t;
int x;
JButton jButton1 = new JButton();
public Dialog1(Frame owner, String title, boolean modal) {
super(owner, title, modal);
try {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
jbInit();
pack();
} catch (Exception exception) {
exception.printStackTrace();
}
}

public Dialog1() {
this(new Frame(), "Dialog1", false);
}

private void jbInit() throws Exception {
panel1.setLayout(null);
this.getContentPane().setLayout(null);
this.getContentPane().add(panel1, null);
panel1.add(jButton1, null);
jButton1.setBounds(new Rectangle(119, 98, 129, 33));
jButton1.setText("jButton1");
panel1.setBounds(new Rectangle(10, 10, 383, 219));
t=new Thread(this);
t.start();
}
public void run()
{
for(x=5;x>0;x--)
{
jButton1.setText("退出(" + Integer.toString(x) + ")");
try {
t.sleep(1000);
} catch (Exception e) {
System.out.println("异常:" + e);
}
}
this.dispose();
}
}
king116116 2007-06-25
  • 打赏
  • 举报
回复
可以试试了,谢谢了,有没有谁有代码啊.
Inhibitory 2007-06-25
  • 打赏
  • 举报
回复
dialog.setVisible(false); // 把对话框设置为不可见
dialog.dispose(); // 释放对话框所占资源
yuyu622 2007-06-25
  • 打赏
  • 举报
回复
在对话框里加上线程,睡一秒后把按钮的文本重置一次,用一个变量记录下来,当睡了5次后窗体就关闭

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧