作者sbrhsieh (sbr)
看板java
标题Re: [问题] 如何让滑鼠点很多次仍视为一次?
时间Thu Jan 8 21:07:33 2009
※ 引述《tatibana31 (橘三十一)》之铭言:
: ※ 引述《tatibana31 (橘三十一)》之铭言:
: 除了H45大大提供的方法,今早失眠时,想到的方法也有效,至少没问题了。
: (但是我的程式却被递回给毁了,结果procedure()这一段重写)
: 我多加了一个变数
: public long previousTime;
: public void procedure()
: {
: if(computer){
: Action_A(); Action_B(); Drawing();
: computer = false;
: procedure();
: }else if(!computer){
: Action_A(); mouseControl = true;
: }
: }
: 滑鼠的程式码为:
: public void mouseClicked(mouseEvent m)
: {
: if(mouseControll &&
: System.currentTimeMillis() - previousTime > 500){
: Action_B(); Drawing(); mouseControll = false;
: previousTime = System.currentTimeMillis();
: computer = true;
: procedure();
: }
: }
: 这样就解了....害我想了一整晚..找了一整晚的虫....(至少测试到现在都没问题)
: 500那个数字,或许可以再低一点....
你这个程式的问题不只是处理滑鼠方面而已。
如果你的程式设计如同 H45 形容的那样:你让 time consuming task(比如电脑在
计算下一步棋)执行在 event-dispatching thread,那麽这个程式在 computer turn
时,程式中的图形元件任一部份被其他东西遮蔽过後,都会没有办法复原外观,得
等到电脑计算完棋步(假设是棋奕游戏)并走完棋子後,才能够补上遗失的外观。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.173.137.130