Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hey Leute,
wie lässt sich das realisieren, dass man mehrere texte nacheinander in das textField eingeben muss?
Also ich habe ein kleines Konsolenfenster mit einer textField und eine textArea. Ich möchte dass wenn man "start" eingibt ein text in das textArea hinzugefügt wird. Funktioniert auch so weit. Dann hab ich in dieser if abfrage (
Code:
if(textField.getText().equals(command[0]))
) noch eine if abfrage mit dem selben aufbau aber mit
Code:
command[1]
also "move" und dies wird ignoriert. Ist ja auch logisch!
Aber wie kann ich das schaffen??
Ich vermute mal du nutzt einen JButton zur übernahme des Textes aus dem JTextFeld ?
in Verbindung mit einem ActionListener könntest du dies dann so implementieren:
du fügst deinem Button einfach den Listener hinzu und über den switch wird dann entschieden was ausgeführt wird
Java:
@Override
public void actionPerformed(ActionEvent e) {
switch(txtField.getText()){
case "start":
// do something
break;
case "stop":
// do other stuff
break;
}
}
Also ich vermute mal du möchtest unterbinden , das wenn dein Programm läuft , dieses jemand starten kann, bzw. wenn es noch nicht läuft es jemand stoppt ?
sprich es nur gestoppt werden kann wenn es läuft ?
Ehrlich gesagt, habe ich nicht ganz verstanden was der TE eigentlich will.
@TE
ich interpretiere die Anforderung " dass man mehrere texte nacheinander in das textField eingeben muss" so, daß
a) nur bestimmte Eingaben erlaubt sind und
b) die Eingaben in einer bestimmten Reihenfolge gemacht werden müssen, also z. B. "move" nur dann wenn vorher "start" eingegeben wurde.
Das könnte man z. B. so realisieren:
a) Du definierst dir ein Array oder eine ArrayList<String> mit den erlaubten Kommandos in der erlaubten Reihenfolge.
b) Du erstellts einen ActionListener für dein JTextField, der diese Liste kennt. Dieser Listener muss auch einen Zähler enthalten.
c) Wenn zum ersten Mal ein ActionEvent ausgelöst wird, wird der Zähler auf 0 gesetzt und überprüft, ob der Inhalt des JTextFields mit dem ersten Eintrag in dem String array/der ArrayList<String> übereinstimmt. Wenn nein --> geeignete Fehlerbehandlung.
d) Beim nächsten ActionEvent des JTextFields wird der Zähler inkrementiert, z. B. auf 1, und geprüft, ob der Inhalt des JTextFields mit dem 2. Eintrag in dem String array/der ArrayList<String> übereinstimmt
usw.
Ist es das, was du willst?