2016-11-28 7 views
0

私はF1キーを10秒ごとにパンチするプログラムを作ろうとしていますが、私はそれを見て分かりますが、 "報告されていない例外AWTException; 「新しいロボット()」で14行目に投げつけられた、または投げられたと宣言された間違っていると強調表示されます。キーを10秒おきに押す

誰が助けることはできますか? `

package textreader; 
import java.awt.AWTException; 
import java.awt.event.KeyEvent; 
import java.util.*; 
import java.awt.Robot; 
public class TextReader { 


public static void main(String[] args) throws AWTException{ 
    Timer t = new Timer(); 
    t.schedule(new TimerTask() { 
     public void run(){ 
      Robot r = new Robot(); 
      r.keyPress(KeyEvent.VK_F1); 
      r.keyRelease(KeyEvent.VK_F1); 
     } 
    }, 0, 5000); 
    } 
} 
+1

'Robot r = new Robot()' catch(AWTException e){// Catchブロック} 'で囲む必要があります。 –

答えて

0

あなたはrun方法ではなく、メインメソッド内Robotオブジェクトを定義しています。これがエラーを起こす理由です。 runメソッドでは、メソッドを呼び出すことによってスローされる例外を指定することができないため、try/catchブロックの内部に定義を囲む必要があります。

try{ 
    Robot r = new Robot(); 
    //These lines will also have to be put inside the try block as they 
    //rely on the robot object 
    r.keyPress(KeyEvent.VK_F1); 
    r.keyRelease(KeyEvent.VK_F1);**strong text** 
} catch (AWTException exception){ 
    //Log exception 
} 

これはエラーを取り除きます。また、メインメソッドからthrows AWTExceptionを削除します。

関連する問題