JTextField auslesen wie in der Console

Der Ander Flo

Grünschnabel
Hey,
ich habe folgendes Problem. Ich programmiere ein kleines TextAdventure /Spiel. Das hatte ich zuerst in der der Console. Das wolte ich in eine GUI form mit einen JTextField und jTextArea umlagern. Die ausgabe geht soweit, aber die eingabe will nicht so richtig. Ich habe eine while die zuesrt die Aufgabe gibt, zuerst lesen dan verarbeiten. Das hat bei der Console geklapt das hast es immer auf die eingabe gewartet. Bei den JTextField mit den keylistener wartest es nicht auf die eingabe.

Wie kan ich es machen das die Schleife wartet bis ich Enter gdrückt habe. Danach sol es den Wert zurück geben damit ich sie danach zu verarbeiten kan?

Die Gui und der Leser sind in einer Klasse und das die Verarbeitung und die Schleife in einer anderen.

PS: Vielen Dank in Vorraus.
 
hier die Schleife
Java:
        while (!Beenden) {
           
            if (!"".equals(nachricht)) {              
                nachricht = GUI.input();
            }
           
           
            if(befehl.checkBefehl(wörter[0])){
                Beenden = BefehlBearbeiten(wörter);
               
            }
            Pause = story(wörter);
        }

und hir die GUI Lese Klasse
Java:
/*

package gowc;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;


/**
*
* @author Florian
*/
public class GUI implements ActionListener, KeyListener {
    private static JTextField eingabe;
    private static JTextArea ausgabe;
    private static JScrollPane spane;
    private static String inmsg = "";
    private static boolean modus = false;
   
   
     public static void out(String msg){
        ausgabe.append(msg);
        ausgabe.append("\n");
    }

   
   public void gui(){    
        JFrame Frame = new JFrame("GOWC");
        Frame.setSize(400,600);
        Frame.setLocationRelativeTo(null);
        Frame.setDefaultCloseOperation(Frame.EXIT_ON_CLOSE);
        
        Frame.setLayout(new BorderLayout());
               
        ausgabe = new JTextArea();
        ausgabe.setEditable(false);

        Frame.add(ausgabe, BorderLayout.CENTER);
       
       
        eingabe = new JTextField("");
        eingabe.addKeyListener(this);
        Frame.add(eingabe, BorderLayout.PAGE_END);
       
        Frame.setVisible(true);
   }

    @Override
    public void actionPerformed(ActionEvent e) {}

    @Override
    public void keyTyped(KeyEvent e) {}

    @Override
    public void keyPressed(KeyEvent e) {
    if(e.getKeyCode() == 10){
       inmsg = eingabe.getText();
       eingabe.setText("");

    }}

    @Override
    public void keyReleased(KeyEvent e) {}
       
    public static String input(){
        for (int i = 0; i > 1; i++) {
            inmsg = "";
        }
        return inmsg;
       
    }
}
 
*bahnhof* ??

Was machen die Funktionen, die innerhalb von "while" aufgerufen werden ???
Wo steht denn die while-Schleife ???

BTW: Namen mit Umlauten sind generell schlecht !!!

Gruß
Klaus
 
Das ist der src ordner da sind alle klassen
Das mit dne ö werde ich dan noch ändern.
Mein wesen ist etwas zesteut wie mein code das muss noch geändet werden:-(
 

Anhänge

  • src.zip
    6,3 KB · Aufrufe: 6
Wo wird das Array Woerter befüllt?
Hab soweit alles zum laufen bekommen...
Du musst statt einen KeyListener den ActionListener nehmen und du benötigst keine Schleife mehr da du mit einer Gui arbeitest immer wenn enter gedrückt wird in einem Textfeld wird der angehängte ActionListener ausgelöst jetzt brauchst du nur eine Methode in deiner Spiele Logik welche das eingegebene Wort entgegen nimmt und das funktioniert auch schon :)
 
ok läuft alles ich hängs dir als Eclipse Projekt an :)

@Edit:
dann will ich des aber auch mal haben wenns fertig ist ;)
 

Anhänge

  • game.zip
    396,9 KB · Aufrufe: 13
Hi ich hab mal angefangen eine kleine Oberfläche zu schreiben und den Code noch ein bisschen anzupassen.

Hat mir irgendwie Spaß gemacht :D Ich werd noch weitermachen kannst mir ja mal deinen aktuellen Stand geben dann merge ich des ein bisschen wenn des für dich in Ordnung ist.
 

Anhänge

  • game.zip
    455,5 KB · Aufrufe: 10
  • gowc.png
    gowc.png
    27,2 KB · Aufrufe: 11
Zurück