- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
public void get_Mouse_press()
{
boolean leftDown = Mouse.isButtonDown(0);
boolean rightDown = Mouse.isButtonDown(1);
validate_Mouse_press(leftDown, rightDown);
}
public void validate_Mouse_press(boolean left, boolean right)
{
if (left == true)
{
if(repeatLeftPressed == false)
{
System.out.println("Left mouse button down");
repeatLeftPressed = true;
repeatLeftReleased = false;
}
if(repeatLeftPressed == true)
{
repeatLeftReleased = false;
}
}
if (right == true)
{
if(repeatRightPressed == false)
{
System.out.println("Right mouse button down");
repeatRightPressed = true;
repeatRightReleased = false;
}
if(repeatRightPressed == true)
{
repeatRightReleased = false;
}
}
if (left == false)
{
if(repeatLeftReleased = false)
{
System.out.println("Left mouse button released");
repeatLeftReleased = true;
repeatLeftPressed = false;
}
if(repeatLeftReleased == true)
{
repeatLeftPressed = false;
}
}
if (right == false)
{
if(repeatRightReleased = false)
{
System.out.println("Right mouse button released");
repeatRightReleased = true;
repeatRightPressed = false;
}
if(repeatRightReleased == true)
{
repeatRightPressed = false;
}
}
}
当我运行我的程序时,它无法正常运行。我希望程序在每次按下鼠标键和每次释放鼠标键时将适当的语句打印到屏幕上。这是为了防止快速 fps 造成的洪水。但是,只有当我第一次单击左键或右键时才会显示。
输出为
"Left mouse button down"
"Right mouse button down"
尽管点击了很多次,但上面的输出还是显示的全部内容。我不确定我做错了什么。我不知道如何在没有某种控制台打印控制的情况下防止轮询鼠标按钮状态时出现控制台泛滥。有没有更有效的方法来做到这一点?或者这是否足够,只有一些被忽视的错误?
最佳答案
问题是repeatLeftReleased = false
,因为它是一个赋值(计算结果为false
)并且不是等式。同样,正确版本的代码也存在此缺陷。逻辑很好(至少在我使用自动点击器赢得所有关卡之前是这样;-),尽管存在重复和 NOP 代码。
为防止将来出现此问题,请勿使用 == true/== false
而是直接使用 boolean 变量/表达式值;
if (!left)
{
if(!repeatLeftReleased) // no chance for `=` now!
{
System.out.println("Left mouse button released");
repeatLeftReleased = true;
repeatLeftPressed = false;
}
if(repeatLeftReleased) // this is always true here
{
repeatLeftPressed = false;
}
}
关于java - 鼠标监听器洪水保护仅报告第一次点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25579845/
我有一个 3D 数组。在这个数组中,我想找到可以组合成更大元素的元素。矩形不能相互重叠。我最好先找到最大的矩形,但先到先得也不会错,尤其是在提高性能的情况下。 例如 1 0 0 0 1 0 0 0 0
这是使用 D3.js 和 topojson 的洪水 map 示例。 http://bl.ocks.org/cappelaere/6472064 https://gist.github.com/capp
首先声明一下,我不是 DevOp,所以我在 Linux 管理方面的经验有限。 我基本上遵循了这个操作方法 (https://cloud.google.com/monitoring/agent/inst
这不是出于黑客目的。我正在学习计算机科学,我只是好奇。 所以..当主机A向主机B发送TCP SYN时,主机B为接收缓冲区等分配空间,向主机A发送回SYNACK,主机A也分配这样的空间,然后向主机B发送
我正在使用这个插件 https://github.com/mozilla/rust-android-gradle ,这需要我添加 tasks.whenTaskAdded { task -> i
我是一名优秀的程序员,十分优秀!