2013-12-12 27 views
1

因此,我正在研究一個小項目,並且正在尋找如何在JOptionPane中執行此操作的基本代碼。我對Java的這個方面仍然很陌生。我不是在尋找很多東西,我只是不知道從哪裏開始。JOptionPane使用一個窗口輸入和輸出

程序應該使用JOptionPane窗口填充屏幕。我需要將它模擬爲下面的圖片。最下面一行是來自用戶的文本輸入,當它們敲入回車鍵時,文本應該「刷新/清除」,然後中間的字符串區域應該填入用戶輸入,然後在下面填充if語句的結果根據代碼。

enter image description here

例如: 「你好」:用戶在輸入。 然後文本輸入應該刷新,灰色框應該這樣做:「用戶:你好。」 「計算機:你好用戶」。

我真的很感激任何和所有幫助。

+0

這是一個控制檯程序,還是你想要一個功能齊全的GUI程序? –

+0

它是一款基於文本的冒險遊戲。我認爲,在控制檯程序下登陸。我沒有處理任何圖像haha – booky99

+1

JOptionPanes實際上並不像這樣。他們的目的是獲得用戶的迴應,並將這些信息發送回控制檯或您的gui程序。但是你似乎想要輸入到控制檯並將輸入輸入到gui中。哪一個? –

回答

0

你不要把System.out.println()變成一個gui組件。不這樣工作。您可以編寫控制檯程序並使用JOptionPanes獲取用戶輸入,但輸出將用於控制檯程序中。你需要創建一個GUI程序模仿一個控制檯。

這裏有一個基本的佈局開始你了

public class Game extends JFrame { 
    JTextArea jta = new JTextArea(10, 30); 
    JTextField jtf = new JTextField(30); 

    public Game(){ 
     add(jtf, BorderLayout.SOUTH); 
     add(jta, BorderLayour.CENTER); 

     jta.addActionListener(new ActionListener(){ 
      public void actionPerformed(ActionEvent e){ 

      } 
     }); 
    } 

    public static void main(String[] args){ 
     SwingUtilities.invokeLater(new Runnable(){ 
      public void run(){ 
       JFrame frame = new Game(); 
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
       frame.setLocationRelativeTo(null); 
       frame.pack(); 
       frame.setVisible(true); 
      } 
     }); 
    } 
} 

我的建議是,因爲這是一個非常基本的程序中,字符串命令,我會用一個數組和遍歷它們。

例如:

String[] question = {"Do you want to go to school?", 
        "Do you want to drive or walk?"}; 

jta.setText(questions[0]); 

然後在你的actionPerformed從文本字段的答案得到。使用if語句如

if (jtf.getText().equals("yes") { 
    jta.append(questions[1]); 
} 

依此類推。如果你不知道我在說什麼,我會考慮使用我提到的Swing教程。這些教程中有很多信息。

+1

哦哇...哈哈我看到你在那裏做了什麼。這確實有幫助。非常感謝! – booky99