以下是一个简单的 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) {}
}

该代码创建了一个窗口,其中有一个红色的控制点,可以通过鼠标拖拽来移动它。当鼠标在控制点上时,点击鼠标可以将控制点移动到新的位置。在每次控制点移动时,窗口都会重绘以显示新的位置。

Java 图形界面控制点移动示例代码

原文地址: https://www.cveoy.top/t/topic/mATr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录