gpt4 book ai didi

java随着鼠标的移动绘制线条

转载 作者:行者123 更新时间:2023-12-02 07:53:55 26 4
gpt4 key购买 nike

我想在我的应用程序中添加一项功能,允许用户通过在起始位置单击鼠标并在结束位置释放鼠标来绘制直线。这条线应该随着鼠标的移动而移动,直到最终释放为止;类似于使用 Microsoft Paint 应用程序绘制线条的方式。

如何实现这一点,以便在线条移动时重新绘制线条,而不重新绘制可能已经在该矩形区域中绘制的其他内容?

最佳答案

试试这个...当鼠标移动(拖动)时在屏幕上画一条红线。

public static void main(String args[]) throws Exception {
JFrame f = new JFrame("Draw a Red Line");
f.setSize(300, 300);
f.setLocation(300, 300);
f.setResizable(false);
JPanel p = new JPanel() {
Point pointStart = null;
Point pointEnd = null;
{
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
pointStart = e.getPoint();
}

public void mouseReleased(MouseEvent e) {
pointStart = null;
}
});
addMouseMotionListener(new MouseMotionAdapter() {
public void mouseMoved(MouseEvent e) {
pointEnd = e.getPoint();
}

public void mouseDragged(MouseEvent e) {
pointEnd = e.getPoint();
repaint();
}
});
}
public void paint(Graphics g) {
super.paint(g);
if (pointStart != null) {
g.setColor(Color.RED);
g.drawLine(pointStart.x, pointStart.y, pointEnd.x, pointEnd.y);
}
}
};
f.add(p);
f.setVisible(true);
}

关于java随着鼠标的移动绘制线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9711938/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com