我想移動一個矩形,但我不知道該怎麼做,我知道這是'mouseClicked(MouseEvent e)',但不知道如何使用它。這是我到目前爲止的代碼:如何在Java中移動矩形?
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class MovRect extends Applet implements MouseMotionListener, MouseListener {
Color color = Color.green;
int x=30,y=30,w=150,l=150;
String MouseMotion ="";
public void init()
{
addMouseListener(this);
addMouseMotionListener(this);
}
public void paint(Graphics g)
{
super.paint(g);
g.setColor(color);
g.drawRect(x, y, w, l);
}
public void mouseClicked(MouseEvent e)
{
String clickDesc;
if (e.getClickCount() == 2)
clickDesc = "double";
else
clickDesc = "single";
System.out.println("Mouse was " + clickDesc + "-clicked at location (" +
e.getX() + ", " + e.getY() + ")");
int mouseX = e.getX();
int mouseY = e.getY();
if(mouseX >= x && mouseX <= x+w && mouseY >= y && mouseY <= y+l)
{
}
else
{
}
this.repaint();
}
public void mouseDragged(MouseEvent e)
{
System.out.println("mouse is being dragged at location (" + e.getX() + ", " + e.getY() + ")");
MouseMotion ="mouseDragged";
repaint();
}
public void mouseMoved(MouseEvent e)
{
System.out.println("mouse is being moved at location (" + e.getX() + ", " + e.getY() + ")");
MouseMotion ="mouseMoved";
repaint();
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}
你想要什麼時候移動矩形,以及你想將它移動到哪裏? 不確定你爲什麼要釘,你已經創建了一個程序,繪製一個矩形與指定的x和y。您還可以聽到鼠標移動和鼠標點擊,並在鼠標移動或單擊時記錄鼠標的x和y位置。該程序甚至準備重新繪製,如果您更改框的x或y。 你自己沒有寫過這個程序嗎?哪一部分是你不明白的? –