キーボードとマウスの入力を監視するスレッドがあります。ユーザーが私のプログラムのボタンをクリックすると、このスレッドがアクティブになり、ユーザーが特定の組み合わせを入力すると、以下のサンプルコードのメソッドtest()が呼び出されます。したがって、このtest()メソッドにある間、スレッドは明らかに私の入力を監視できません。したがって、このスレッドは、これが終了するまで別のメソッドを呼び出すことができないため、spacePressedがtrueになることはありません。
public void test()
{
spacePressed = false;
while(!spacePressed)
{
pasteAtCursorLocation("Test");
sleepy(1000);
}
}
したがって、入力を監視する別のスレッドを作成して、スペースを押すと、特定の関数呼び出しにtrueを返すことができます。それが私が望むことをするように?
public void test()
{
SpaceWatcher sw = new SpaceWatcher();
sw.start();
while(!sw.SpacePressed())
{
pasteAtCursorLocation("Test");
sleepy(1000);
}
}
しかし、これはSpaceWatcherを頻繁に効果的に呼び出すように呼びますか?つまり、スペースウォッチには、スペース入力の呼び出しの間に入力を監視するのに十分な時間がありますか?
編集:pasteAtCursorLocationはそれが言うように動作し、sleepyはThread.sleep(ms)を呼び出します