我最怜君中宵舞 2016-11-17 15:34 采纳率: 75%
浏览 1290
已采纳

关于java中mouseevent的问题

我想问一下为什么我在jframe中点击一下了之后,图片并没有出现呢?还有就是如果我想实现鼠标拖动jlabel该怎么实现呢?

package action10;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.Point;
/**
 *
 * @author 11417
 */

public class Action10 extends JFrame implements MouseListener{
    JLabel jb=new JLabel();
    JPanel jp=new JPanel();
    public Action10(){
        this.addMouseListener(this);
        this.setLayout(null);
        this.setSize(600,600);
        this.setVisible(true);
        jp.addMouseListener(this);
    }
    
    public void mouseClicked(MouseEvent e){
        ImageIcon img=new ImageIcon("D:/Procedure/Java/Action10/cmcc.png");
        jb.setIcon(img);
        int i=e.getX();
        int j=e.getY();
        jp.add(jb);
        this.add(jp);
        jp.setSize(100,100);
        jp.setLocation(i-50,j-50);
    }
     public void mouseDragged(MouseEvent e){
        if(e.getSource()==jb){
             Point point = jb.getLocation();
             jb.setLocation(e.getPoint().x + point.x, e.getPoint().y + point.y);
        }
    }
    public void mouseExited(MouseEvent e){}
    public void mouseEntered(MouseEvent e){}
    public void mouseReleased(MouseEvent e){}
    public void mousePressed(MouseEvent e){
        ImageIcon img=new ImageIcon("D:/Procedure/Java/Action10/cmcc.png");
        jb.setIcon(img);
        int i=e.getX();
        int j=e.getY();
        jp.add(jb);
        this.add(jp);
        jp.setSize(100,100);
        jp.setLocation(i-50,j-50);
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        new Action10();
    }
    
}

  • 写回答

1条回答 默认 最新

  • 毕小宝 博客专家认证 2016-11-17 22:11
    关注

    图片路径对不对呢?先看看直接放一张图片能不能显示;其次,再在鼠标事件中打印一些信息,看看点击事件是否真的执行了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法