精华内容
下载资源
问答
  • 如果有人需要,这是解决方案:使用以下代码创建名为HandScrollListener的新类:import java.awt.Cursor;import java.awt.Point;import java.awt.Rectangle;import java.awt.event.MouseAdapter;import java.awt....

    最后,我自己做了。如果有人需要,这是解决方案:

    使用以下代码创建名为HandScrollListener的新类:

    import java.awt.Cursor;

    import java.awt.Point;

    import java.awt.Rectangle;

    import java.awt.event.MouseAdapter;

    import java.awt.event.MouseEvent;

    import javax.swing.JLabel;

    import javax.swing.JViewport;

    public class HandScrollListener extends MouseAdapter

    {

    private final Cursor defCursor = Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);

    private final Cursor hndCursor = Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);

    private final Point pp = new Point();

    private JLabel image;

    public HandScrollListener(JLabel image)

    {

    this.image = image;

    }

    public void mouseDragged(final MouseEvent e)

    {

    JViewport vport = (JViewport)e.getSource();

    Point cp = e.getPoint();

    Point vp = vport.getViewPosition();

    vp.translate(pp.x-cp.x, pp.y-cp.y);

    image.scrollRectToVisible(new Rectangle(vp, vport.getSize()));

    pp.setLocation(cp);

    }

    public void mousePressed(MouseEvent e)

    {

    image.setCursor(hndCursor);

    pp.setLocation(e.getPoint());

    }

    public void mouseReleased(MouseEvent e)

    {

    image.setCursor(defCursor);

    image.repaint();

    }

    }然后在你的框架中放:

    HandScrollListener scrollListener = new HandScrollListener(label_to_move);

    jScrollPane.getViewport().addMouseMotionListener(scrollListener);

    jScrollPane.getViewport().addMouseListener(scrollListener);它应该工作!

    展开全文
  • [Java教程]基于js鼠标拖动图片排序0 2015-02-14 16:00:42分享一款基于js的图片排序效果。鼠标拖动图片,重新排列图片的排列顺序。该插件适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之...

    [Java教程]基于js鼠标拖动图片排序

    0 2015-02-14 16:00:42

    分享一款基于js的图片排序效果。鼠标拖动图片,重新排列图片的排列顺序。该插件适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗。效果图如下:

    bc91bb04e6e9c61e24c974e4440db8f2.gif

    在线预览   源码下载

    实现的代码。

    html代码:

    • 1.jpg
    • 2.jpg
    • 3.jpg
    • 4.jpg
    • 5.jpg
    • 6.jpg

    css代码:* { margin: 0; padding: 0; list-style: none; } #ul1 { width: 660px; position: relative; margin: 10px auto; } #ul1 li { width: 200px; height: 150px; float: left; list-style: none; margin: 10px; } #ul1 li:hover { border-color: #9a9fa4; box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.85); } #ul1 .active { border: 1px dashed red; }

    js代码:window.onload = function () { var oUl = document.getElementById("ul1"); var aLi = oUl.getElementsByTagName("li"); var disX = 0; var disY = 0; var minZindex = 1; var aPos = []; for (var i = 0; i < aLi.length; i++) { var t = aLi[i].offsetTop; var l = aLi[i].offsetLeft; aLi[i].style.top = t + "px"; aLi[i].style.left = l + "px"; aPos[i] = { left: l, top: t }; aLi[i].index = i; } for (var i = 0; i < aLi.length; i++) { aLi[i].style.position = "absolute"; aLi[i].style.margin = 0; setDrag(aLi[i]); } //拖拽 function setDrag(obj) { obj.onmouseover = function () { obj.style.cursor = "move"; } obj.onmousedown = function (event) { var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft; obj.style.zIndex = minZindex++; //当鼠标按下时计算鼠标与拖拽对象的距离 disX = event.clientX + scrollLeft - obj.offsetLeft; disY = event.clientY + scrollTop - obj.offsetTop; document.onmousemove = function (event) { //当鼠标拖动时计算div的位置 var l = event.clientX - disX + scrollLeft; var t = event.clientY - disY + scrollTop; obj.style.left = l + "px"; obj.style.top = t + "px"; /*for(var i=0;i b2 || r1 < l2 || b1 < t2 || l1 > r2) { return false; } else { return true; } } //勾股定理求距离 function getDis(obj1, obj2) { var a = obj1.offsetLeft - obj2.offsetLeft; var b = obj1.offsetTop - obj2.offsetTop; return Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)); } //找到距离最近的 function findMin(obj) { var minDis = 999999999; var minIndex = -1; for (var i = 0; i < aLi.length; i++) { if (obj == aLi[i]) continue; if (colTest(obj, aLi[i])) { var dis = getDis(obj, aLi[i]); if (dis < minDis) { minDis = dis; minIndex = i; } } } if (minIndex == -1) { return null; } else { return aLi[minIndex]; } } }

    via:http://www.w2bc.com/Article/23686

    本文网址:http://www.shaoqun.com/a/110849.html

    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

    JS

    0

    展开全文
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼import java.awt.Color;import java.awt.Dimension;import java.awt.Graphics;import java.awt.GraphicsDevice;import java.awt.GraphicsEnvironment;import java.awt....

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    import java.awt.Color;

    import java.awt.Dimension;

    import java.awt.Graphics;

    import java.awt.GraphicsDevice;

    import java.awt.GraphicsEnvironment;

    import java.awt.Toolkit;

    import java.awt.event.KeyAdapter;

    import java.awt.event.KeyEvent;

    import java.awt.event.MouseAdapter;

    import java.awt.event.MouseEvent;

    import java.awt.event.MouseMotionAdapter;

    import javax.swing.JFrame;

    public class RectDrawTest {

    public static void main(String[] args) {

    // 全屏运行

    GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment()

    .getDefaultScreenDevice();

    gd.setFullScreenWindow(new RectDraw());

    }

    }

    class RectDraw extends JFrame {

    private static final long serialVersionUID = 1L;

    int orgx, orgy, endx, endy;

    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

    public RectDraw() {

    setVisible(true);

    this.addMouseListener(new MouseAdapter() {

    public void mousePressed(MouseEvent e) {

    orgx = e.getX();

    orgy = e.getY();

    }

    });

    this.addMouseMotionListener(new MouseMotionAdapter() {

    public void mouseDragged(MouseEvent e) {

    endx = e.getX();

    endy = e.getY();

    Graphics g = getGraphics();

    g.clearRect(0, 0, d.width, d.height);

    g.setColor(Color.BLUE);

    g.drawRect(orgx, orgy, endx - orgx, endy - orgy);

    }

    });

    this.addKeyListener(new KeyAdapter() {

    @Override

    public void keyReleased(KeyEvent e) {

    // 按Esc键退出

    if (e.getKeyCode() == 27) {

    System.exit(0);

    }

    }

    });

    }

    }

    展开全文
  • JAVA鼠标拖动物体移动、碰撞销毁

    千次阅读 2020-02-16 16:58:11
    JAVA鼠标拖动物体移动、碰撞销毁 主要也是利用了图形化用户界面一章,主要的功能、意图不是做界面,而是鼠标拖动物体到一定的范围之后就消失。 图中有1~6张不同颜色的标签,每次启动之后他们的位置是随机的,把他们...

    JAVA鼠标拖动物体移动、碰撞销毁

    主要也是利用了图形化用户界面一章,主要的功能、意图不是做界面,而是鼠标拖动物体到一定的范围之后就消失。

    图中有1~6张不同颜色的标签,每次启动之后他们的位置是随机的,把他们拖拽到下面最大的总标签里面之后,对应的数字标签销毁并消失。

    主要还是看下面的代码和运行效果图吧!相信大家都能看懂,也比较简单。

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseMotionListener;
    import java.util.ArrayList;
    import java.util.List;
    
    /*
     *      模块
     *   鼠标拖动、销毁
     * */
    
    public class Rubbish extends JFrame {
        JPanel jp;
        JLabel[] jl = new JLabel[6];
    
        JLabel jl_zon;
        Color[] colors = {Color.BLACK,Color.CYAN,Color.GRAY,Color.RED,Color.YELLOW,Color.WHITE};
        List<JLabel> list = new ArrayList<>();
    
        int x,y;
    
        public static void main(String[] args) {
            new Rubbish();
    
        }
    
        public Rubbish(){
            jp = new JPanel();
            jp.setLayout(null);
            this.add(jp);
    
            for (int i=0;i<jl.length;i++){
                jl[i] = new JLabel(""+(i+1),JLabel.CENTER);
                jl[i].setBounds((int) (Math.random()*400),(int)(Math.random()*250) ,60,80);
                jl[i].setBackground(colors[i]);
                jl[i].setOpaque(true);
    //            System.out.println((int) (Math.random()*400)+"     "+(int) (Math.random()*250));
                jp.add(jl[i]);
                list.add(jl[i]);
            }
    
            for(int i = 0 ; i < list.size();i++) {
                JLabel jl= list.get(i);
    
                list.get(i).addMouseListener(new MouseAdapter() {
                    public void mousePressed(MouseEvent e) {
                        x = e.getX();
                        y = e.getY();
    //                    System.out.println(x+"    "+y);
                    }
    
                    public void mouseReleased(MouseEvent e) {
                        peng(jl,jl.getX(),jl.getY());
    
                    }
    
                });
    //			跟踪鼠标移动和鼠标拖动
                list.get(i).addMouseMotionListener(new MouseMotionListener() {
                    @Override
                    public void mouseMoved(MouseEvent arg0) {
                        // TODO Auto-generated method stub
    
                    }
    
                    @Override
                    public void mouseDragged(MouseEvent e) {
                        // TODO Auto-generated method stub
                        JLabel jl = (JLabel) e.getSource();
                        jl.setLocation(jl.getX()+e.getX()-x,jl.getY()+e.getY()-y);
    //                    System.out.println(x+"    "+y);
                        System.out.println(jl.getX()+"    "+jl.getY());
    //                    System.out.println(e.getX()+"    "+e.getY());
                    }
                });
            }
    
            jl_zon = new JLabel("总标签",JLabel.CENTER);
            jl_zon.setBounds(150,350,200,100);
            jl_zon.setBackground(Color.GREEN);
            jl_zon.setOpaque(true);
            jp.add(jl_zon);
    
            this.setBounds(400,200,500,500);
            this.setVisible(true);
    
        }
    
        public void peng(JLabel jlabel,int x,int y){
            if(x>150 && x<350 && y>350 && y<450){
                jp.remove(jlabel);
                jp.repaint();
            }
        }
    
    }
    

    运行效果如下:
    如图有6张标签
    这是拖动之后还剩3张
    如有不懂,加微信 :zhi19990327
    备注 :Java碰撞、消失

    展开全文
  • }//鼠标拖动时,记录鼠标终点mouseEndPoint//如果图形被选中且处于isMoving状态,则调用图形的move方法public void mouseDragged(MouseEvent e) {drawShapePanel.mouseEndPoint.x = e.getX();drawShapePanel....
  • 收录日期:2021/02/26 05:58:13 时间:2016/05/23 07:07:30 标签:Java SEimportjava.awt.*;importjava.awt.event.*;publicclassFrame1extendsFrameimplementsMouseMotionListener,MouseListener{staticFrame1frm=ne...
  • DragChartPanel 是java cs架构中的一种图形展现的开源组件。业务需求需要用到DragChartPanel ,这是一种根据jtable表格中的数据给与展示的图形组件。它和其他图形组件区别再与它可以进行拖拽,用户通过它不仅可以...
  • INF/MANIFEST.MF ProjectDrawShape/META-INF ProjectDrawShape/project/Command.class ProjectDrawShape/project/Command.java ProjectDrawShape/project/CompositeShape.class ProjectDrawShape/project/...
  • 1:采用单例模式设计; 2:应用双缓冲技术; 3:更改线段的颜色,宽度。
  • java GUI awt 实现鼠标绘制矩形,鼠标拖动矩形,鼠标改变矩形大小功能. 其它图形的绘制方法参考: https://blog.csdn.net/xietansheng/article/details/55669157
  • 连接点工作正常,但是当用户拖动绘制矩形时,先前绘制的矩形和多边形消失。可运行的代码如下;import java.awt.Color;import java.awt.Dimension;import java.awt.Frame;import java.awt.event.ActionEvent;...
  • 鼠标事件的事件源往往与容器相关,当鼠标进入容器、离开容器,或者在容器中单击鼠标拖动鼠标时都会发生鼠标事件。java语言为处理鼠标事件提供两个接口:MouseListener,MouseMotionListener接口。MouseListener...
  • 在窗口中按下鼠标左键并拖拽,绘制图形(使用适配器类) 运行效果图 鼠标未点击 鼠标点击并拖动后 部分源码 /* * 重写mousePressed()和mouseReleased()方法 */ @Override public void mou
  • 当前,在使用mouseDragged的情况下,用户可以拖动视图一点点,但是一旦用户释放鼠标并尝试再次移动视图,原点就会恢复到鼠标光标的当前位置。让用户自由移动的最佳方法是什么?提前致谢!这是绘图区域的代码。import...
  • * 功能:通过拖动鼠标--通过拖动鼠标在窗口内绘制图形 * 分许:鼠标按下时开始捕捉点的坐标,拖动时再次捕捉,画线 * */ import javax.swing.*; import java.awt.*; import java.awt.event.MouseEvent; import ...
  • Java 图片的拖动处理

    2021-03-16 06:46:55
    摘要:Java源码,图形操作,图片拖动 Java 图片的拖动处理,用Java代码制作图片的拖动效果,用到了鼠标事件、坐标处理等相关技巧,实例运行截图如上图所示,源代码请下载参阅。
  • 鼠标操作是图形操作系统最常用操作,用户使用鼠标单击,双击,右击,拖动等操作实现与软件的交互。鼠标事件监听器鼠标事件监听器由MouseListener接口和MouseMotionListener接口定义,分别定义鼠标捕获不同的鼠标操作...
  • 鼠标事件的事件源往往与容器相关,当鼠标进入容器、离开容器,或者在容器中单击鼠标拖动鼠标时都会发生鼠标事件。java语言为处理鼠标事件提供两个接口:MouseListener,MouseMotionListener接口。MouseListener...
  • 我已经做了什么为了旋转世界,用户首先在屏幕上单击,然后在周围拖动鼠标以执行旋转。让我们将第一个单击点记为S,将拖动事件的下一个点记为L,将屏幕中心记为C。为了计算旋转角度,在第一次单击屏幕时,我将向量从C...
  • java鼠标绘制小方块

    2011-07-26 02:11:54
    这段源码实现了如下功能: ...3. 拖动方块:当鼠标指针移至图形内部,按下任意键,拖动指针时,图形将随之移动,直到松开按钮为止。 4. 擦除方块,当指针移至图形内部,双击鼠标任意键,可擦除当前方块。
  • 鼠标单击画点,然后画出相应的B样条曲线 拖动相对应的特征点,曲线会跟着改变
  • {相关信息}鼠标事件类(MouseEvent)指组件中发生的鼠标动作事件,例如按下鼠标、释放鼠标、单击鼠标鼠标光标进入或离开组件的几何图形、移动鼠标拖动鼠标。当鼠标移动到某个区域或鼠标单击某个组件时就会触发鼠标...
  • 图形编程之SwingGUI程序 简介GUIGraphic User Interface图形用户界面带给用户一种更直观友好的界面提供一种更友好的交互方式用户可以通过鼠标点击拖动键盘控制等更灵活的方式进行应用操作GUI包和简单GUI程序1.java....
  • Java画不规则,及拖动直线

    千次阅读 2018-10-28 12:59:32
    上一个文章已经讲了画直线,三角形,...之前我们做的都是有关直线的,现在我们想做任意的曲线,这个时候我们需要添加一个鼠标拖动监听器,因为可以继承多个接口,所以直接在一个类里继承。 同理,接口类的全部方...
  • 目前使用mouseDragged,用户可以稍微拖动视图,但是一旦用户释放鼠标并尝试再次移动视图,原点就会快速回到鼠标光标的当前位置.让用户自由移动的最佳方法是什么?提前致谢!这是绘图区域的代码.import java.awt.Color;...
  • 目前使用mouseDragged,用户可以稍微拖动视图,但是一旦用户释放鼠标并尝试再次移动视图,原点就会快速回到鼠标光标的当前位置.让用户自由移动的最佳方法是什么?提前致谢!这是绘图区域的代码.import java.awt.Color;...
  • 还有很多其他问题,例如:每次拖动鼠标时,您都会在列表中添加一个点,等等。 它还不够完美,但已经有足够的变化供您分析。import java.awt.Color;import java.awt.Dimension;import java.awt.Graphics;import java....
  • 当我们在GUI上进行交互操作时,鼠标在窗口上移动,拖动,我们就认为发生了鼠标事件;在文本框输入用户名,需要不断按下,松开键盘,我们就认为是发生了键盘事件。所以事件就是发生了什么事。 Java中事件(Event)是...
  • 在Liang的Java编程简介(第7版)的第15章中,他介绍了一个程序,该程序可以在JPanel上... 3)​​允许移动圆用鼠标拖动它.最后的修改是给我一段时间带来麻烦的,因为我想在开始时将球居中,但随后允许用户用鼠标来移动球.我...
  • 鼠标事件的事件源往往与容器相关,当鼠标进入容器、离开容器,或者在容器中单击鼠标拖动鼠标时都会发生鼠标事件。java语言为处理鼠标事件提供两个接口:MouseListener,MouseMotionListener接口。 MouseListener...

空空如也

空空如也

1 2 3 4 5 6
收藏数 104
精华内容 41
关键字:

java鼠标拖动图形

java 订阅