package test;
import java.awt.*;
import java.awt.event.*;
public class WaiGua {
public WaiGua() {
}
public void keyPress(int VK_VALUE) throws InterruptedException{
if( VK_VALUE == KeyEvent.VK_SHIFT) {
System.out.println("SHIFT is pressing");
try {
Thread.sleep(10000);
this.keyPress(KeyEvent.VK_Z);
} catch(InterruptedException irre) {
irre.printStackTrace();
}
}
else if(VK_VALUE == KeyEvent.VK_Z) {
System.out.println("Z is pressing");
}
}
/**
* @param args
*/
public static void main(String[] args) throws InterruptedException{
// TODO 自动生成方法存根
WaiGua wg = new WaiGua();
wg.keyPress(KeyEvent.VK_SHIFT);
}
}
我想请版主帮帮加点控制时间的代码。。。比如我想让第一个按下SHIFT后三分钟再做sleep这个方法(按住不放)。
还有就是我想知道我这个程序运行的时候那个SHIFT的键是真的处于按下状态吗
----------------解决方案--------------------------------------------------------
你不应该这样
你应该起个线程去计时,当中途释放那个键时,线程就中止,
如果线程以了时间还没有释放那个键时,就说明那个键已按了你想要它按的那么长时间了
----------------解决方案--------------------------------------------------------
哦 我去查查API啊
----------------解决方案--------------------------------------------------------
版主记时是什么方法啊!!!
----------------解决方案--------------------------------------------------------
记时没有什么方法,
要自己sleep]
----------------解决方案--------------------------------------------------------
写了半天没写出个来....版主能给个例子吗?
----------------解决方案--------------------------------------------------------
不是很清楚你的需求,所以给不出例子
----------------解决方案--------------------------------------------------------
我的要求是起一个线程让它运行一段时间后,中断..运行另一个线程...一段时间后这个线程中断回到刚才的线程..如此循环....主要问题就是第一个线程运行的时间怎么控制...不知道用到什么类...什么方法..还请版主给你例子
----------------解决方案--------------------------------------------------------
你这个要求就不用线程了嘛
因为同一时刻只有一个线程在运行
何必用到多线程呢?
一般什么情况下会用到线程,那就是要求很多事情同时做的时候还会用到
----------------解决方案--------------------------------------------------------
哦 那还是那个问题啊...怎么记时呢!!!我要一个线程运行固定的时间!!怎么实现?
----------------解决方案--------------------------------------------------------