免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: jerryzhu863
打印 上一主题 下一主题

事件触发不了 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2004-10-14 16:51 |显示全部楼层

事件触发不了

这个不是事件触发不了的问题
而是那个事件处理线程没法被kill的问题

论坛徽章:
0
2 [报告]
发表于 2004-10-14 19:21 |显示全部楼层

事件触发不了

这时是关不了窗口的
必须先把那个线程kill掉
要不这样吧
你试试把你的监听代码放到另外一个进程中
使用多线程可以解决这个问题

论坛徽章:
0
3 [报告]
发表于 2004-10-14 19:26 |显示全部楼层

事件触发不了

我写了一个例子
罗嗦了点
对付看吧

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.JButton;
import javax.swing.JFrame;

/**
* @author Administrator
*
* 更改所生成类型注释的模板为
* 窗口 >; 首选项 >; Java >; 代码生成 >; 代码和注释
*/
public class TestKill {
        private JFrame f;
        public static void main(String[] args) {
                TestKill t=new TestKill();
               
               
        }
        public TestKill(){
                JButton bt1;
                JButton bt2;
                bt1=new JButton("bt1";
                bt2=new JButton("bt2";
                bt1.addActionListener(new ActionListener(){                       
                        public void actionPerformed(ActionEvent e) {
                                // TODO 自动生成方法存根
                                new Thread(){
                                        public void run(){
                                                while(true){
                                                        try {
                                                                Thread.sleep(1000);
                                                        } catch (InterruptedException e1) {
                                                                // TODO 自动生成 catch 块
                                                                e1.printStackTrace();
                                                        }
                                                }
                                        }
                               
                                }.start();
                               
                        }
                });
                f =new JFrame();
                f.addWindowListener(new WindowListener(){

                        public void windowOpened(WindowEvent e) {
                                // TODO 自动生成方法存根
                               
                        }

                        public void windowClosing(WindowEvent e) {
                                // TODO 自动生成方法存根
                                System.exit(0);
                        }

                        public void windowClosed(WindowEvent e) {
                                // TODO 自动生成方法存根
                               
                        }

                        public void windowIconified(WindowEvent e) {
                                // TODO 自动生成方法存根
                               
                        }

                        public void windowDeiconified(WindowEvent e) {
                                // TODO 自动生成方法存根
                               
                        }

                        public void windowActivated(WindowEvent e) {
                                // TODO 自动生成方法存根
                               
                        }

                        public void windowDeactivated(WindowEvent e) {
                                // TODO 自动生成方法存根
                               
                        }
                       
                });
                f.getContentPane().setLayout(new FlowLayout());
                f.getContentPane().add(bt1);
                f.getContentPane().add(bt2);
                f.pack();
                f.setVisible(true);
               
        }
}

论坛徽章:
0
4 [报告]
发表于 2004-10-14 19:28 |显示全部楼层

事件触发不了

好像默认jvm不会重开一个线程来处理事件响应

论坛徽章:
0
5 [报告]
发表于 2004-10-14 20:34 |显示全部楼层

事件触发不了

刚才的代码有错误
落了.start()
应为
new Thread(){...}.start();
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP