「java鼠标跟随」java移动鼠标光标

博主:adminadmin 2023-03-22 08:46:07 630

本篇文章给大家谈谈java鼠标跟随,以及java移动鼠标光标对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java如何让指针跟随鼠标的位置旋转

int dx = Mouse.getX()-cx;

int dy = Mouse.getY()-cy;

double dr = Math.sqrt(dx*dx+dy*dy);

dx*=leng/dr;

dy*=leng/dr;

GL11.glBegin(GL11.GL_LINE_STRIP);

GL11.glVertex2f(cx, cy);

GL11.glVertex2f(cx+dx, cy+dy);

GL11.glEnd();

你让我捡起了很久没动的LWJGL

大概就是这个思路了,获得当前鼠标位置,跟那个箭头尾部位置进行三角处理

不过我这个画的是线条,假如是画箭头可能要麻烦一点,因为箭头的顶端有个三角形233

三角形大概是这样子的思路:根据上面的操作得到三角形的基点,就是与线段相交的地方,就是cx+dx, cy+dy。然后三角形的一条边垂直于线段,可以根据这个来搞出另外三个点balabala

啥子你要简便方法?那就去用现成的呗,安卓我不清楚

小弟菜鸟一枚java鼠标跟随问题,我想让下面代码在鼠标“快速”移动时画完整的线,不是断断续续的哟!

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.event.MouseMotionAdapter;

import javax.swing.JFrame;

public class MouseDrawLine extends JFrame {

int x, y;

int endX, endY;

public MouseDrawLine() {

addMouseListener(new MouseAdapter() {

//鼠标下压事件

@Override

public void mousePressed(MouseEvent e) {

x = e.getX();

y = e.getY();

}

//鼠标弹起事件

@Override

public void mouseReleased(MouseEvent e) {

System.out.println("鼠标弹起事件");

}

});

addMouseMotionListener(new MouseMotionAdapter() {

//鼠标下压移动事件

@Override

public void mouseDragged(MouseEvent e) {

Graphics g = getGraphics();

g.setColor(Color.BLACK);

endX = e.getX();

endY = e.getY();

g.drawLine(x, y, endX, endY);

x = endX;

y = endY;

}

});

setSize(600, 500);

setLocation(200,100);

setVisible(true);

setDefaultCloseOperation(3);

}

public static void main(String[] args) {

new MouseDrawLine();

}

}

java怎么让按钮跟着鼠标移动

前提:你容器使用的布局需要null,这样你容器上其它组件都需要自己控制大小和位置了。

问题:你需要显示的鼠标坐标是基于屏幕还是容器还是窗口还是按钮?

给你个简单的显示鼠标基于窗口坐标的例子,鼠标坐标显示在窗口标题栏上。

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

public class TraceMouse extends JFrame{

JButton btnTrace;

boolean showMousePosition;

Insets insets;

public TraceMouse(){

setSize(640,480);

setLayout(null);

btnTrace=new JButton("点我显示鼠标坐标");

btnTrace.setSize(btnTrace.getPreferredSize());

add(btnTrace);

btnTrace.addMouseMotionListener(new MouseMotionListener(){

public void mouseDragged(MouseEvent e){

Point position=getMousePosition();

btnTrace.setLocation(position.x-insets.left-btnTrace.getWidth()/2,position.y-insets.top-btnTrace.getHeight()/2);

TraceMouse.this.setTitle(String.format("当前鼠标坐标为:(%1$d,%2$d)",position.x,position.y));

}

public void mouseMoved(MouseEvent e){

Point position=getMousePosition();

btnTrace.setLocation(position.x-insets.left-btnTrace.getWidth()/2,position.y-insets.top-btnTrace.getHeight()/2);

}

});

addMouseListener(new MouseAdapter(){

public void mouseEntered(MouseEvent e){

Point position=getMousePosition();

btnTrace.setLocation(position.x-insets.left-btnTrace.getWidth()/2,position.y-insets.top-btnTrace.getHeight()/2);

}

});

setVisible(true);

insets=getInsets();

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}

public static void main(String[] args){

new TraceMouse();

}

}

java鼠标跟随的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java移动鼠标光标、java鼠标跟随的信息别忘了在本站进行查找喔。