我想要得到這個代碼來製作一個正方形,它將跟隨你的鼠標在y軸上。現在它只是在每次鼠標移動時創建一個新的方塊,我將如何解決這個問題?重新畫一個正方形?
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.geom.*;
public class Pong {
public static void main(String args[]) {
Frame f = new Frame("Pong");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.add(new PongField(Color.black), BorderLayout.CENTER);
f.setResizable(false);
f.pack();
f.setVisible(true);
}
}
class PongField extends Canvas {
boolean playing = true;
boolean running = true;
public PongField(Color mainscreen) {
setForeground(mainscreen);
}
public Dimension getPreferredSize() {
return new Dimension(600, 600);
}
public void paint(Graphics g) {
while (true) {
Dimension size = getSize();
PointerInfo a = MouseInfo.getPointerInfo();
Point b = a.getLocation();
a = MouseInfo.getPointerInfo();
b = a.getLocation();
int x = size.width/2;
int y = (int) b.getY();
g.fillRect(x/x * 10, y, 10, 75);
g.drawLine(size.width/2 - 5, 0, size.width/2 - 5, size.height);
if (y != (int) b.getY())
y = (int) b.getY();
}
}
}
你有使用AWT而不是Swing的理由嗎? – Jes