栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java:mouseDragged并在图形界面中移动

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java:mouseDragged并在图形界面中移动

基于该示例,以下程序允许用户将轴的交点拖动到任意点

origin
,该点从面板的中心开始。

import java.awt.Cursor;import java.awt.Dimension;import java.awt.EventQueue;import java.awt.Graphics;import java.awt.Point;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.MouseMotionAdapter;import javax.swing.Jframe;import javax.swing.JPanel;public class MouseDragTest extends JPanel {    private static final String TITLE = "Drag me!";    private static final int W = 640;    private static final int H = 480;    private Point origin = new Point(W / 2, H / 2);    private Point mousePt;    public MouseDragTest() {        this.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));        this.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) {     mousePt = e.getPoint();     repaint(); }        });        this.addMouseMotionListener(new MouseMotionAdapter() { @Override public void mouseDragged(MouseEvent e) {     int dx = e.getX() - mousePt.x;     int dy = e.getY() - mousePt.y;     origin.setLocation(origin.x + dx, origin.y + dy);     mousePt = e.getPoint();     repaint(); }        });    }    @Override    public Dimension getPreferredSize() {        return new Dimension(W, H);    }    @Override    public void paintComponent(Graphics g) {        super.paintComponent(g);        g.drawLine(0, origin.y, getWidth(), origin.y);        g.drawLine(origin.x, 0, origin.x, getHeight());    }    public static void main(String[] args) {        EventQueue.invokeLater(new Runnable() { @Override public void run() {     Jframe f = new Jframe(TITLE);     f.add(new MouseDragTest());     f.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);     f.pack();     f.setLocationRelativeTo(null);     f.setVisible(true); }        });    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/486263.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号