JAVA中怎么用鼠标去控制一个角色的移动啊?.
1个回答
展开全部
添加一鼠标监听器呗,以鼠标的坐标位置设置猪出现的位置
追问
以鼠标的坐标位置设置猪出现的位置 该怎么做啊?
鼠标的坐标位置该怎么做啊?
猪出现的坐标是private int x = 680; private int y = 300;
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
}
该怎么写啊?
追答
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
@SuppressWarnings("serial")
public class MouseMotionText extends JPanel{
int x=20,y=20; //设置初试坐标
int mode=1; //表示默认绘制模式,1:拖动,2:移动
public MouseMotionText(){
addMouseMotionListener(new MouseMotionListener(){//创建匿名内部类
public void mouseDragged(MouseEvent e){ //鼠标拖动
x=e.getX(); //x轴的坐标
y=e.getY(); //y轴的坐标
repaint();
}
public void mouseMoved(MouseEvent e){ //鼠标移动
mode=2; //设置为移动模式
x=e.getX();
y=e.getY();
repaint();
}
});
}
public void paintComponent(Graphics g){
g.clearRect(0,0,400,200); //清屏
if(mode==1) g.setFont(new Font("宋体",Font.BOLD,g.getFont().getSize()+10));
draw(g,x,y);
}
public void draw(Graphics g,int x,int y){
g.drawString("Hello, Java世界",x,y);
}
public Dimension getPreferredSize(){ //获取最佳尺寸
return new Dimension(400,200);
}
public static void main(String args[]){
JFrame frame=new JFrame();
frame.add(new MouseMotionText());
frame.setTitle("鼠标移动事件示例");
frame.setSize(400,200);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询