Java 仅保存上次鼠标单击的坐标的变量

Java 仅保存上次鼠标单击的坐标的变量,java,awt,mouseevent,Java,Awt,Mouseevent,这就是我想要实现的。我想在屏幕上鼠标点击的最后一个位置显示一个项目。目前,它的工作排序,但每次我点击其他地方所说的项目移动到那里。我只希望它是静态的 下面是一些代码: 全局变量px和py。用于按住鼠标单击: private int px = 250; // initial coordinates private int py = 250; 鼠标单击馈送全局px和py: private void testPress(int x, int y) { if (!isPaused &&

这就是我想要实现的。我想在屏幕上鼠标点击的最后一个位置显示一个项目。目前,它的工作排序,但每次我点击其他地方所说的项目移动到那里。我只希望它是静态的

下面是一些代码:

全局变量px和py。用于按住鼠标单击:

private int px = 250; // initial coordinates
private int py = 250;
鼠标单击馈送全局px和py:

private void testPress(int x, int y) {
    if (!isPaused && !gameOver) {
        // do something..
        px = x;
        py = y;
        girlP.setDestination((px-(girlP.getImage().getWidth(this)/2)), 
                (py-(girlP.getImage().getHeight(this)/2)));

        //System.out.println(px + ", " + py);
    }
}
在那里,px和py不断用新值更新。我想要的是一种只按住最后一次鼠标单击的方法参见了解如何侦听鼠标事件


您可以使用
event.clickX
event.clickY
来获取您所监听的元素中的坐标,或者使用
event.screenX
event.screenY
来获取文档中的绝对鼠标坐标。

您希望它位于上次单击的位置,但单击时不移动吗?你的问题现在没有意义。@keppil是的,有点让人困惑。基本上,我有一个角色可以移动到鼠标指定的任何位置。性格是有能力种花。我想做的是在角色站立的任何位置(即最后一个鼠标点)种植一朵花。首先,你需要定义某种“固定”动作——也就是说,鼠标点击应该将你的物品“固定”到某个点,与鼠标点击不应该“固定”到某个点之间的区别是什么。此外,除非您希望只有一个项目会按照描述的方式运行,否则不应使用全局状态。@如果我以某种方式使用数组会怎么样?@blutuu-我不知道数组如何帮助解决更基本的设计问题。现在,如果你想存储点击位置的历史记录,那么,是的,将点存储在一个(大小有界的)数组中是可以的,但这并没有解决最初的问题,即-‘点击固定和点击不固定有什么区别’?作为一个可能解决方案的示例,您可以定义右键单击以锁定,左键单击以执行“其他操作”。