Erste Schritte "Raumwechsel" bereitet Probleme

Waraffel

Mitglied
Hi,

ich habe ein kleines Problem und weis einfach nicht wie ich das beheben soll, ich hoffe ihr könnt mir helfen.

Habe vor einem Jahr in Java ein Textadventure geschrieben und wollte dies jetzt etwas aufarbeiten. Es werden halt feste Räume mit zugehörigen Items erstellt welche man jetzt statt über Texteingabe über Buttons wechseln soll. In der Textbasierten Version klappte dies ohne Probleme, habe die Grafiken auch bisher eingebunden bekommen und ebenso auch die Benutzeroberfläche. Beim umstellen der Befehlsgebung klappt es jedoch nicht so wie gedacht.

Einmal die Methode zum wechseln der Räume:
Java:
private void wechsleRaum(Befehl befehl)
        {
            String richtung = befehl.befehlswort;
            Raum naechsterRaum = aktuellerRaum.gibAusgang(richtung);
            if(naechsterRaum == null)
            {
                System.out.println("Fehler");
            }
            else
            {
                aktuellerRaum = naechsterRaum;
                ImageIcon icon = new ImageIcon(aktuellerRaum.beschreibung);
                JLabel center = new JLabel(icon);
            }
        }
Jeder Raum hat halt festgelegte Ausgänge welche hier angesteuert werden sollen. Zusätzlich halt das Bild (beschreibung) für den nächsten, bzw dann aktuellen Raum (bisher nur theoretisch, da ich den Wechsel halt nicht testen kann).

Hier ist jetzt die Abfrage des Buttons der gedrückt wurde:
Java:
private boolean eingabe(String a){
            if(a=="north"){
                wechsleRaum(a); 
            }
            else if(a=="south"){
                wechsleRaum(a);
            }
            else if(a=="west"){
                wechsleRaum(a);
            }
            else if(a=="east"){
                wechsleRaum(a);
            }
            else if(a=="Aktion"){
                center.setText(a);
            }
            else if(a=="Beenden"){
                System.exit(0);
            }
        }
Der hier resultierende Fehler ist das wechsleRaum
Code:
Befehl
erwartet, aber einen String geliefert bekommt, daher verständlich. Änder ich den String jedoch dahingehend funktionert der Listener nicht mehr:
Java:
private void addButtonListener(JButton b){
            b.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent ae){
                    eingabe(ae.getActionCommand());
                }
            });
        }
Dieser erwartet dann auch
Code:
Befehl
erhält aber nur java.lang.String

Da ich die Befehl-Klasse aus dem textbasierten Programm übernommen habe könnte es natürlich sein, dass diese komplett unnötig geworden ist. Jedenfalls läßt es die derzeitige Größe vermuten. ^^
Java:
class Befehl
{
    public String befehlswort;

    //erzeugen des Befehlsobjektes
    public Befehl(String wort)
    {
        befehlswort = wort;
    }

    //Gibt das Befehlswort aus
    public String gibBefehlswort()
    {
        return befehlswort;
    }
    
    public boolean istUnbekannt()
    {
        return (befehlswort == null);
    }
}

Gibt es eine einfache Lösung für dieses Problem, also dass der Raumwechsel möglich wird?
 

BRoll

Bekanntes Mitglied
Ohne auf die Semantik zu achten ist mir schonmal das hier aufgefallen
beim drüberfliegen.

a=="north"

Strings vergleicht man mit .equal()

Auf jeden Fall kannste den Fehler schonmal verbessern.
 

DJ_MERKEL

Mitglied
Dieser Code erinnert mich verdächtig an Kapitel 7 aus dem Buch: "Java lernen mit BlueJ", lad dir die Lösungen einfach ausm Netz runter, Google ist dein Freund mein Lieber.

Du musst das Projekt nämlich zunächst ersteinmal Komplett dem Refactoring-Prozess unterziehen, dann geht deine Umsetzung wesentlich einfacher und ohne den ganzen "doppelten Code".
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J KeyListener aus anderer Klasse bereitet Probleme Java Basics - Anfänger-Themen 1
J For-Schleife bereitet Probleme Java Basics - Anfänger-Themen 2
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
Jxhnny.lpz TicTacToe Spiel vs Computer. (Probleme) Java Basics - Anfänger-Themen 7
B Quiz mit RMI Probleme mit RMI start Java Basics - Anfänger-Themen 4
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
V Probleme Guessing Game Java Basics - Anfänger-Themen 8
hebein PDF Ausdruck auf Drucker - Probleme mit Format Java Basics - Anfänger-Themen 17
R JMenu/JMenuItem Probleme Java Basics - Anfänger-Themen 2
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
J Probleme mit dem Debugger Java Basics - Anfänger-Themen 4
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
J Probleme mit Kompilierung Java Basics - Anfänger-Themen 11
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
C Probleme mit paintComponent Java Basics - Anfänger-Themen 13
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
E JavaFX Editor Probleme mit der Zwischenablage Java Basics - Anfänger-Themen 12
C Probleme mit dem Erstellen und Importieren von Packages Java Basics - Anfänger-Themen 6
3 OOP erste Versuche, OOP zu verstehen. Probleme mit gettern und settern Java Basics - Anfänger-Themen 4
R Erste Schritte Probleme bei 2D Spielfeld, mit einzufügender "Person" Java Basics - Anfänger-Themen 5
P Probleme bei der Installation von JavaFX Java Basics - Anfänger-Themen 3
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
Dimax String Probleme Java Basics - Anfänger-Themen 12
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
Splayfer Java Array Probleme Java Basics - Anfänger-Themen 3
J Probleme bei IllegalArgumentException "werfen". Java Basics - Anfänger-Themen 1
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
X Probleme im Umgang mit PriorityQueue Java Basics - Anfänger-Themen 75
D Probleme mit dem Windowbuilder und JComboBox Java Basics - Anfänger-Themen 2
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
X Probleme mit Übungsaufgaben zu Zahlentypen Java Basics - Anfänger-Themen 4
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
P Erste Schritte Probleme mit dem Programmieren Java Basics - Anfänger-Themen 12
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
Franzi1001 Probleme mit Eclipse Java Basics - Anfänger-Themen 7
T Probleme bei Installation von JDK Java Basics - Anfänger-Themen 2
C Probleme mit String-Vergleich Java Basics - Anfänger-Themen 4
C Probleme bei Regex Java Basics - Anfänger-Themen 9
V Probleme mit Arrays Java Basics - Anfänger-Themen 8
D Kleine Probleme mit Split-Befehlen Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
L Probleme mit Java Java Basics - Anfänger-Themen 3
S Probleme mit abspielen einer .wav Datei Java Basics - Anfänger-Themen 2
J Probleme bei der Umwandlung einer Farbe von Hex zu RGB Java Basics - Anfänger-Themen 8
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
M Probleme beim aktualisieren eines JPanels Java Basics - Anfänger-Themen 7
J Probleme beim Array ausgeben Java Basics - Anfänger-Themen 4
M Probleme bei rekursiver Zuordnung Java Basics - Anfänger-Themen 1
I Probleme mit 2 dimensionale Arrays Java Basics - Anfänger-Themen 3
H Best Practice View probleme Java Basics - Anfänger-Themen 2
B Probleme mit Kreisberechnung Java Basics - Anfänger-Themen 15
E Probleme mit Scanner Java Basics - Anfänger-Themen 4
J Eclipse Export Probleme Java Basics - Anfänger-Themen 25
M Probleme beim verwenden von Packages Java Basics - Anfänger-Themen 6
D Probleme mit der Übergabe einer BorderPane Java Basics - Anfänger-Themen 2
J Interface Probleme bei der Implementierung Java Basics - Anfänger-Themen 1
BlueFox Tabelle in der Konsole ausgeben - Probleme Java Basics - Anfänger-Themen 1
G Methoden Probleme beim Methodenaufruf Java Basics - Anfänger-Themen 2
V Klassen ObjectInputStream ->ReadObject Probleme Java Basics - Anfänger-Themen 5
P Probleme mit der Do-Schleife Java Basics - Anfänger-Themen 2
F Erste Schritte Compiling Probleme Java Basics - Anfänger-Themen 13
S Neuling und Probleme bei Schulaufgabe Java Basics - Anfänger-Themen 5
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
S Erste Schritte 2D Grafik Probleme mit KeyListener. Java Basics - Anfänger-Themen 18
M Array mit eigenem Datentyp probleme beim übergeben Java Basics - Anfänger-Themen 6
M Probleme mit Eclipse Java Basics - Anfänger-Themen 20
G Probleme beim casten von double zu int Java Basics - Anfänger-Themen 3
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
S Compiler-Fehler javac hat Probleme mit Paketen unter OSX Java Basics - Anfänger-Themen 2
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
B Variablen Probleme mit Eclipse Java Basics - Anfänger-Themen 6
H Mouse- und KeyListener Probleme? Java Basics - Anfänger-Themen 5
A Probleme beim zykl. aktulisieren von Daten in JTable Java Basics - Anfänger-Themen 3
I Probleme bei Verzeichnissanalyse Java Basics - Anfänger-Themen 12
F Probleme mit privaten Klassen (abstrakten Klassen) Java Basics - Anfänger-Themen 1
H Probleme mit Klassen...oder: Eine Uhr Java Basics - Anfänger-Themen 9
G Probleme mit Konsole Java Basics - Anfänger-Themen 4
S Probleme mit GamGrid Spiel-Erstellung => Actor reagiert nicht auf Tastatur Java Basics - Anfänger-Themen 2
G Probleme mit Eclipse oder der URL Klasse Java Basics - Anfänger-Themen 5
W Verständnis Probleme bei der while-Schleife und continue Java Basics - Anfänger-Themen 21
M Probleme mit Anzeigen von String in GUI und if-Anweisung Java Basics - Anfänger-Themen 9
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
W Methoden Probleme mit der Scanner Methode Java Basics - Anfänger-Themen 2
F Ja Nein Abfrage und andere Probleme Java Basics - Anfänger-Themen 5
L If Anweisung mit ArrayList Probleme Java Basics - Anfänger-Themen 6
littles_de Simbad Simulator probleme mit Sensordaten... Java Basics - Anfänger-Themen 0

Ähnliche Java Themen

Neue Themen


Oben