「java鼠标跟随」java移动鼠标光标
本篇文章给大家谈谈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鼠标跟随的信息别忘了在本站进行查找喔。