Java 图形界面控制点移动示例代码
以下是一个简单的 Java 代码示例,演示如何在图形界面上移动控制点。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ControlPointDemo extends JFrame implements MouseListener, MouseMotionListener {
private Point point; // 控制点的坐标
public ControlPointDemo() {
setTitle('Control Point Demo');
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 400);
setResizable(false);
point = new Point(200, 200);
addMouseListener(this);
addMouseMotionListener(this);
}
public void paint(Graphics g) {
super.paint(g);
// 绘制控制点
g.setColor(Color.RED);
g.fillOval(point.x - 5, point.y - 5, 10, 10);
}
public void mousePressed(MouseEvent e) {
// 检查鼠标是否在控制点上
if (e.getX() >= point.x - 5 && e.getX() <= point.x + 5
&& e.getY() >= point.y - 5 && e.getY() <= point.y + 5) {
point.setLocation(e.getX(), e.getY());
repaint();
}
}
public void mouseDragged(MouseEvent e) {
// 移动控制点
point.setLocation(e.getX(), e.getY());
repaint();
}
public static void main(String[] args) {
ControlPointDemo demo = new ControlPointDemo();
demo.setVisible(true);
}
// 其他鼠标事件不需要实现,但必须存在
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseMoved(MouseEvent e) {}
}
该代码创建了一个窗口,其中有一个红色的控制点,可以通过鼠标拖拽来移动它。当鼠标在控制点上时,点击鼠标可以将控制点移动到新的位置。在每次控制点移动时,窗口都会重绘以显示新的位置。
原文地址: https://www.cveoy.top/t/topic/mATr 著作权归作者所有。请勿转载和采集!