2016-03-02 40 views
0

我正在使用以下代碼,我發現這些代碼在界面中顯示結果,而不是在控制檯中顯示。在GUI界面中接收用戶輸入(通過掃描程序)

public class Main{ 
    public static void main(String [] args) throws InterruptedException { 
     JFrame frame = new JFrame(); 
     frame.add(new JLabel(" Outout"), BorderLayout.NORTH); 

     JTextArea ta = new JTextArea(); 
     TextAreaOutputStream taos = new TextAreaOutputStream(ta, 60); 
     PrintStream ps = new PrintStream(taos); 
     System.setOut(ps); 
     System.setErr(ps); 


     frame.add(new JScrollPane(ta) ); 

     frame.pack(); 
     frame.setVisible(true); 

     for(int i = 0 ; i < 100 ; i++) { 
      System.out.println(i); 
      Thread.sleep(500); 
     } 
    } 
} 

但是在我的程序中的某個步驟中,我需要接收用戶輸入。在CONSOL該程序工作,但在界面上它似乎並沒有將輸入發送到我的程序。

順便說一句,我用我的程序這部分代碼來接收用戶輸入:

Scanner input = new Scanner(System.in); 
String data = input.nextLine(); 

我的問題是如何使GUI界面接受用戶輸入,不僅顯示結果/錯誤?

+2

看看[如何使用文本字段(https://docs.oracle.com/javase/tutorial/ uiswing /組件/ textfield.html)。 –

+0

你是什麼意思?與system.in耦合的掃描儀從控制檯接收輸入... –

+0

@Yassin,是的我想要一個GUI界面 - 像Consol,我可以看到結果/錯誤,但也能夠發送輸入。我不想添加文本字段或其他任何東西。 – ichmode

回答