2013-04-12 3 views
0

좋아, Zork과 같은 텍스트 기반 Java 게임을 만들고 있습니다. 나는 간단한 GUI를 가지고 있는데, JTextField가있다. JTextArea ETC. 나는 극단적 인 어려움을 textField 예를 들어, "북한"사용자 유형을 가지고 있고 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

나는 코드를 다음과 같이 대신 설정하면 작동하지만 지금은 작동하지만 어떻게하면 jtextfield 트리거가 북쪽으로 갔다고 말할 수 있습니까? 북쪽에 타이핑 만하면 아무 것도하지 않고 해고해야합니다. – user2272590

답변

0

좋아, 그래서 당신은 do .... while .... 루프 자바에서 문자열을 비교합니다. 이런 식으로 해봤습니까? 당신은 또한 할 수는 JTextField를에 ActionListener을 추가 할 것입니다 수있는 일

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

. 클릭하면 enter, JTextArea에 JTextField의 내용을 표시합니다.

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

이것은 컴파일되지 않고 선택 해제되어 있습니다.

+0

입력 블록을 실행할 때 방금 실제로 아무 것도 입력하지 않고 "북쪽으로 갔다"라는 메시지가 나타납니다. – user2272590

+0

입력하면 아무리 입력을 클릭하면 ActionListener가 발생합니다. – user2228462

+0

프로그램을 열었을 때 방금 전에 "You Went North"라고 말했어. – user2272590

관련 문제