标题:[求助]关于事件监听的问题
取消只看楼主
wuxiao_v
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2005-9-4
 问题点数:0 回复次数:3 
[求助]关于事件监听的问题



import javax.swing.*;
import java.event.*;

public class Test{
public static void main(String []agrs){
F f=new F();
f.setVisible(true);
}
}

class F extends JFrame{
JPanel cp;
JPanel pan1;

F(){
cp=(JPanel)getContendPanel;
this.addKeyEventListner(new Mv(this));
}
pulic void Mc(EventAction e){
System.exit(0);
}
}

class Mv extends KeyeventAdapter{
F f;
Mv(F ff){
this.f=ff;
}
public void keyTyped(EventAction e){
f.Mc(e);
}
}

------------------------------------------------
上边的这段程序运行时随意按一个键窗口就会关闭但是添一个按钮上去就不好用了代码如下
------------------------------------------------

import javax.swing.*;
import java.event.*;

public class Test{
public static void main(String []agrs){
F f=new F();
f.setVisible(true);
}
}



class F extends JFrame{
JPanel cp;
JButton b1;
F(){
cp=(JPanel)getContendPanel;
cp.add(b1);
this.addKeyEventListner(new Mv(this));
}
pulic void Mc(EventAction e){
System.exit(0);
}
}



class Mv extends KeyeventAdapter{
F f;
Mv(F ff){
this.f=ff;
}
public void keyTyped(EventAction e){
f.Mc(e);
}
}
------------------------------------------
这样就不好使了,高手帮忙分析一下这个是为什么,由于在网吧上网没有编成工具代码是手写的在加上刚刚学java 肯定会有错的地方,但是程序大概的意思高手一看就应该明白,我感觉java的事件处理这一块应该是挺重要的,但是我看了很多书对这方面的介绍都很少,事件的处理到底重要部重要,有哪些这方面的书推荐一下 ^_^

搜索更多相关主题的帖子: 监听 
2007-11-18 21:24
wuxiao_v
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2005-9-4
得分:0 

恩谢谢楼上不过你还没明白我要表达的意思:

import javax.swing.*;
import java.awt.event.*;

public class MyTest{
public static void main(String []agrs){
F f=new F();
f.setVisible(true);
}
}

class F extends JFrame{
JPanel cp;
JPanel pan1;
JButton b1 =new JButton();

F(){
cp = (JPanel)this.getContentPane();
cp.add(b1);

this.addKeyListener(new Mv(this));
}
public void Mc(KeyEvent e){
System.exit(0);
}
}

class Mv extends KeyAdapter{
F f;
Mv(F ff){
this.f=ff;
}
public void keyTyped(KeyEvent e){
f.Mc(e);
}
}
把这个钮按上你在看看


2007-11-18 22:25
wuxiao_v
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2005-9-4
得分:0 

这么按上看不到在稍微修改一下


import javax.swing.*;
import java.awt.event.*;

public class MyTest{
public static void main(String []agrs){
F f=new F();
f.setVisible(true);
}
}

class F extends JFrame{
JPanel cp;
JPanel pan1;
JButton b1 =new JButton();

F(){

cp = (JPanel)this.getContentPane();
cp.setLayout(null);
b1.setBounds(30,30,30,30);
cp.add(b1);

this.addKeyListener(new Mv(this));
}
public void Mc(KeyEvent e){
System.exit(0);
}
}

class Mv extends KeyAdapter{
F f;
Mv(F ff){
this.f=ff;
}
public void keyTyped(KeyEvent e){
f.Mc(e);
}
}


2007-11-18 22:27
wuxiao_v
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2005-9-4
得分:0 
哦谢谢
this.setFocusable(true);是让当前面板获取焦点吧;

我曾经试验过this.requestFoucus();但是还是不好用.

这个两个方法有什么区别阿.

2007-11-23 18:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-187031-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014727 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved