2013-04-12 25 views
0

好的,所以我正在製作一個基於文本的java遊戲,比如Zork。我正在做一個簡單的GUI,它有一個JTextField JTextArea ETC.例如,我在使用textField中的用戶類型時非常困難,例如「North」,並且讓JTextArea甚至說北,更不用說做一個命令。這是我的代碼。基於文本的遊戲JTextArea不顯示JTextField

import java.awt.Color; 
import java.awt.Desktop.Action; 
import java.util.Scanner; 

import javax.swing.AbstractAction; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JMenu; 
import javax.swing.JPanel; 
import javax.swing.JTextArea; 
import javax.swing.JTextField; 

public class gameFrame { 


    public static void main(String[] args) { 
     //create variables for graphics 
     String a = ("Adventure"); 
     JFrame frame = new JFrame(a); 
     JPanel panel = new JPanel(); 
     JTextField input = new JTextField(25); 
     JTextArea output = new JTextArea("Hello", 65, 30); 
     JMenu exit = new JMenu("Exit"); 

     //add main parts together 
     frame.add(panel); 
     panel.add(input); 
     panel.add(output); 


     //frame 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setVisible(true); 
     frame.setResizable(false); 
     frame.setSize(900, 600); 

     //panel 
     panel.setBackground(Color.WHITE); 

     //input 
     input.setForeground(Color.MAGENTA); 
     String inputBox = input.getText(); 



     //output 
     output.setEditable(false); 
     output.setForeground(Color.MAGENTA); 


     } 


    } 
+0

我已經設置了代碼,如果然後而不是做,而現在它的作品,但我怎麼mkae jtextfield觸發器說你去北?只是在北部打字並沒有做任何事情,它需要被解僱。 – user2272590

回答

0

好的,所以你比較java中的字符串和do .... while ....循環。你有沒有嘗試過這樣的事情?

String inputBox = input.getText(); 
do { 
    // Code to do whatever when inputBox equals "north" 
    output.append("You went: North"); 
} 
while(inputBox.equals/*IgnoreCase*/("north"); 

你還可以做的是將一個ActionListener添加到JTextField。單擊後,在JTextArea上顯示JTextField的內容。

input.addActionListener(
    new ActionListener() { 
    public void actionPerformed(ActionEvent event) { 
     output.append(inputBox.getText()); 
    } 
    } 
); 

這是未編譯的,未選中。

+0

當我運行我的輸入塊時,我所得到的只是「你去了北方」而沒有真正輸入它發生的任何事情? – user2272590

+0

無論您輸入什麼內容,只要您點擊輸入,ActionListener就會發生。 – user2228462

+0

當我打開程序時,它只是說「你去過北」,然後我做了任何事情。 – user2272590