我写了一个类继承 JPanel  在JPanel的paintComponent 方法里 g.drawImage 图了一张图片,我想把这张图片注册一个监听事件,就是鼠标点击一下该图就会触发事件?
还请知道的大虾告诉我一下!

解决方案 »

  1.   

    JPanel.addMouseListener(new MouseAdapter() {
        public void mouseClick(MouseEvent evt) {
        // do something...
        }
    });
      

  2.   

    JPanel.addMouseListener(new MouseAdapter() {
      public void mouseClick(MouseEvent evt) {
      // do something...
      }
    }); 
      

  3.   

    这个是给JPanel 注册监听事件呢,我是说给图片注册监听事件,点图片就会触发,还有可不可以在图片隐藏属性里写一个值呢,如: value = "233" 然后我点图片触发可以得到 "233" 这个值,还请不吝赐教!
      

  4.   

    怎么可能直接给Image添加事件呢,image还不是显示在JPanel上,只能给JPanel添加事件。
      

  5.   

    我就问这个呢,我记得我以前用 C# winForm 实现过了,在java 里找半天找不到,
    所以我纳闷C#里有怎么java 没有,所以来问这个.
      

  6.   

    点击图片和点击JPanel有什么特殊要求?
      

  7.   

    触发事件不就是调用函数就ok了啊,是不是啦
    JPanel.addMouseListener(new MouseAdapter() {
      public void mouseClick(MouseEvent evt) {
      // do something...
      }
    });
    是不是啊,如果是java的话,干嘛不用js潜入呢
      

  8.   

    画在JPanel 上的图片, 而图片是不固定大小的,所以我如果去 查 "由 点在JPanel 触发的鼠标事件" 找图片信息会很麻烦,因为 JPanel 上有 n 张图片, 我想让每个图片信息都是唯一的,所以想 直接在图片上存唯一的信息,点图片触事件后得到该信息
      

  9.   

    图片不是 组件,不能监听鼠标点击事件。jpanel.addMouseListener(new MouseAdapter(){
        public void mousePressed(MouseEvent e){
             // 获取鼠标点击处的坐标,判断点击了哪张图片
        }
    });
      

  10.   


    学习下 
    只有这样了么?图片多么?每张在自己一个panel=。=
      

  11.   

    一个图片一个Panel,然后在放到一个pane