| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 985 人关注过本帖
标题:关于final变量的问题 刚才的用的时候注意到的 有点疑惑
只看楼主 加入收藏
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

哦,这个意思啊,我还以为是什么呢


可惜不是你,陪我到最后
2006-04-08 12:54
晓狐狸
Rank: 2
等 级:新手上路
威 望:3
帖 子:95
专家分:0
注 册:2006-4-6
收藏
得分:0 

我只有一个 多个监听器的例子 而且不清晰
有没有清晰的范例 给一个看下


2006-04-08 12:57
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

其实多个监听器实现不难啊,只要你把实现了监听接口的类注册到你要监听的组件上不就可以了吗?
比如,
class Listener1 implements ActionListener{
public void actionPerformed(ActionEvent e){
System.out.println("监听器1调用了!");
}
}
class Listener2 implements ActionListener{
public void actionPerformed(ActionEvent e){
System.out.println("监听器2调用了!");
}
}
然后你再加这两个监听器注册到你能发出ActionEvent事件的组件上,然后当你的组件被触发了事件时,所有注册在这个组件上的监听器方法都会被调用
比如你一个按钮
JButton jb=new JButton("测试");
jb.addActionListener(new Listener1());
jb.addActionListener(new Listener2());
就完成了两个的注册了


可惜不是你,陪我到最后
2006-04-08 13:27
★王者至尊★
Rank: 1
等 级:新手上路
帖 子:528
专家分:0
注 册:2006-3-28
收藏
得分:0 

下面这个代码能不能算作一个例子呢:
-------------------------------------------------------------
import java.awt.*;
  import java.awt.event.*;
    public class ThreeListener implements MouseMotionListener,MouseListener,WindowListener {
    //实现了三个接口
    private Frame f;
    private TextField tf;
    public static void main(String args[])
    {
     ThreeListener two = new ThreeListener();
     two.go(); }

    public void go() {
    f = new Frame("Three listeners example");
    f.add(new Label("Click and drag the mouse"),"North");
    tf = new TextField(30);
    f.add(tf,"South"); //使用缺省的布局管理器
    f.addMouseMotionListener(this); //注册监听器MouseMotionListener
    f.addMouseListener(this); //注册监听器MouseListener
    f.addWindowListener(this); //注册监听器WindowListener
    f.setSize(300,200);
    f.setVisible(true);
      }

    public void mouseDragged (MouseEvent e) {
    //实现mouseDragged方法
    String s = "Mouse dragging : X="+e.getX()+"Y = "+e.getY();
    tf.setText(s);
      }
    public void mouseMoved(MouseEvent e){}
    //对其不感兴趣的方法可以方法体为空
    public void mouseClicked(MouseEvent e){}
    public void mouseEntered(MouseEvent e){
      String s = "The mouse entered";
      tf.setText(s);
        }

    public void mouseExited(MouseEvent e){
      String s = "The mouse has left the building";
      tf.setText(s);
        }

    public void mousePressed(MouseEvent e){}
    public void mouseReleased(MouseEvent e){ }
    public void windowClosing(WindowEvent e) {
    //为了使窗口能正常关闭,程序正常退出,需要实现windowClosing方法
      System.exit(1);
        }

    public void windowOpened(WindowEvent e) {}
    //对其不感兴趣的方法可以方法体为空
    public void windowIconified(WindowEvent e) {}
    public void windowDeiconified(WindowEvent e) {}
    public void windowClosed(WindowEvent e) {}
    public void windowActivated(WindowEvent e) { }
    public void windowDeactivated(WindowEvent e) {}

    }
------------------------------------------------------------------


------Java 爱好者,论坛小混混,学习中------
2006-04-08 13:37
晓狐狸
Rank: 2
等 级:新手上路
威 望:3
帖 子:95
专家分:0
注 册:2006-4-6
收藏
得分:0 
~~有代码看比什么都好咧

说是不太好说清楚的 我先研究研究

2006-04-08 13:53
快速回复:关于final变量的问题 刚才的用的时候注意到的 有点疑惑
数据加载中...
 
   



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

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