单独显示Dialog略奇怪,所以乎衫我用JFrame做例子,原理是一样的
创新互联是一家专业提供绵竹企业网站建设,专注与成都做网站、成都网站制作、H5开发、小程序制作等业务。10年已为绵竹众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
建立一个线程,睡3秒,醒宽顷罩来后就把JFrame窗体关闭。
给JFrame加事件监听,包括所有你想监听的事件,我这里为了简便,只监听了鼠标单击。一旦事件发生,则吵醒那个线程,这样它就睡不足3秒,并且直接进入下一个迭代,继续慎闹睡3秒。
直到有一次单击后3秒内没有操作,这时候线程不会触发InterruptedException 异常,就会执行关闭窗体的操作
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
public class DummyTest {
public static void main(String[] args) {
final JFrame frame = new JFrame();
final Thread thread = new Thread(new Runnable() {
public void run() {
while (true) {
try {
Thread.sleep(3000);
frame.dispose();
return;
} catch (InterruptedException e) {}
}
}
});
frame.setSize(400, 400);
frame.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
System.out.println("clicked");
thread.interrupt();
}
});
frame.setVisible(true);
thread.start();
}
}
构造函数中加一句setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
修改后完整的代码
编译通过~
import java.awt.*;
import java.awt.event.*;
public class TestGraphics extends Frame{
public void paint(Graphics g)
{
int x,y,i=0;
Font font=new Font("裤态Serif",Font.ITALIC|Font.BOLD,40);
g.setFont(font);
g.drawOval(60,50,80,80);
g.setColor(Color.red);
g.fillOval(150, 50, 80, 80);
g.setColor(Color.pink);
g.drawOval(240, 50, 80, 80);
g.setColor(Color.green);
g.drawString("i love java"晌纯槐, 80, 260);
g.setColor(Color.blue);
for(i=0;i20;i++)
{
x=(int)(Math.random()*300)+30;
y=(int)(Math.random()*200)+130;
g.fillOval(x, y, 10, 10);
}
g.setColor(Color.orange);
y=100;
for(i=0;i40;i++)
{
y+=5;
g.drawRect(30, 30, 320, y);
}
}
public static void main(String[] args)
{
TestGraphics f=new TestGraphics();
f.setTitle("我的第宴友一个Graphics");
f.setSize(400,345);
f.setLocation(0,0);
f.setVisible(true);
f.addWindowListener( new WindowAdapter()
{
public void windowClosing( WindowEvent e )
{
System.exit(0);
}
});
}
}
网页题目:java自动关闭窗口代码 java关闭窗口语句
文章出自:https://www.cdcxhl.com/article14/dsppege.html
成都网站建设公司_创新互联,为您提供做网站、微信小程序、网站排名、动态网站、搜索引擎优化、响应式网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联