2017-04-11 6 views
0

ユーザがEnterキーを押さずに入力を取得しようとしています。 ENTERキーは2秒後にシミュレートされ、ユーザーは入力を求められます。入力キーのシミュレーションjava

import java.util.Timer; 
import java.util.TimerTask; 
import java.io.*; 
public class test 
{ 
    private String str = ""; 

    TimerTask task = new TimerTask() 
    { 
     public void run() 
     { 
       // Code for SimulateEnterKeyPress goes here 
     } 
    }; 

    public void getInput() throws Exception 
    { 
     Timer timer = new Timer(); 
     timer.schedule(task, 2000); 

     System.out.println("Input a string within 2 seconds: "); 
     BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 
     str = in.readLine(); 

     timer.cancel(); 
     System.out.println("You have entered: "+ str); 
    } 

    public static void main(String[] args) 
    { 
     try 
     { 
       (new test()).getInput(); 
     } 
     catch(Exception e) 
     { 
       System.out.println(e); 
     } 
    } 
} 

JavaでEnterキーを押す方法は?

P.S.上記のために他の簡単な代替方法がありますか?

+4

この 'robot.keyPress(KeyEvent.VK_ENTER);' java.awt.Robot'を使用することができます; – XtremeBaumer

+2

'Robot'クラスはどのアプリケーションにも気にしないことに気付くだけです。アプリケーションがアクティブであれば、あなたがそれを実装すれば 'Enter'キーを押すでしょう。 – SomeJavaGuy

+0

ありがとうございます。私はちょうどRobotクラスについてのOracleのドキュメントを調べました。それは非常に役に立ちました。 – 8hantanu

答えて

1

java.awtパッケージには、Robotというクラスがあります。このクラスのオブジェクトをインスタンス化し、keyPress(int keyCode)メソッドを使用します。

関連する問題