Klassen Variablen von einer Klasse zur anderen

Putenpizza

Mitglied
Guten Abend,
Ich lerne derzeit Java von dem Youtuber TheNewBoston und bin nun auf das Kapitel GUI gestoßen. Ich habe ein Fenster erstellt, zwei Textfelder und ein Passwortfield, dass ganze habe ich dann versucht mit der ActionListener klasse zu verknüpfen. Das ganze sie soweit so aus:
Java:
[
package test;

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import java.awt.FlowLayout;

public class Test1 extends JFrame{
   
    private JTextField item1;
    private JTextField item2;
    private JPasswordField pField;
   
    public Test1 (){
       
        super("Mein Programm");
        setLayout(new FlowLayout());
       
        item1 = new JTextField("Enter your Name Here",15);
        add(item1);
        item2 = new JTextField("Enter your Age Here",15);
        add(item2);
        pField = new JPasswordField(10);
        add(pField);
       
        Test2 handler = new Test2();
        item1.addActionListener(handler);
        item2.addActionListener(handler);
        pField.addActionListener(handler);
    }
}
]
Das Problem aber ist das die ActionListener Klasse die Variablen item1, item2 und pFiel nicht kennt. Das ist auch klar, weil diese in der Klasser nicht definiert wurden, bei dem Youtuber allerdings funktioniert es, ich weiß nicht ob es daran liegt, weil er das alles in einem Dokument geschrieben hat aber es klappt.
Java:
[
package test;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;

public class Test2 implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent event){
        String string = "";
       
        if(event.getSource() == item1){
            string = String.format("Your name is %s", event.getActionCommand());
        }else if (event.getSource() == item2){
            string = String.format("Your age is %s", event.getActionCommand());
        }else if (event.getSource() == pField){
            string = String.format("Your password is %s", event.getActionCommand());
        }
       
        JOptionPane.showMessageDialog(null, string);
    }
]
Mein Frage an euch ist es nun, wie ich die drei Variablen in die andere Klasse übertragen kann.
Vielen Dank für eure Hilfe :)
 

AndyJ

Bekanntes Mitglied
event.getSource() benutzt du doch schon - das gibt dir die Komponente zurueck auf der das Ereignis ausgeloest wurde. Der Rueckgabetyp ist allerdings Object, also musst du einen Cast ausfuehren, um an die Eingabe zu gelangen:
Code:
String eingabe = ((JTextField)event.getSource()).getText();
Allerdings hast du verschiedene Typen verwendet, deshalb erstmal testen:
Code:
if(event.getSource() instanceof JTextField) {
    ...
}
Andy
 

Flown

Administrator
Mitarbeiter
Das Problem aber ist das die ActionListener Klasse die Variablen item1, item2 und pFiel nicht kennt. Das ist auch klar, weil diese in der Klasser nicht definiert wurden, bei dem Youtuber allerdings funktioniert es, ich weiß nicht ob es daran liegt, weil er das alles in einem Dokument geschrieben hat aber es klappt.
Dieser besagte Youtuber hat eine innere Klasse(private class) im selben .java File kreiert und somit Zugriff auf die umgebenden Variablen.
 

Putenpizza

Mitglied
Jetzt funktioniert es. Den Fehler, den ich gemacht habe war, dass ich die ActionListener Klasse außerhalb der Test1 Klasse kreiert habe. Aber als Flown sagte "innere Klasse" hats bei mir klick gemacht.
Danke für eure Hilfe! :)
 

Flown

Administrator
Mitarbeiter
Trotzdem noch ein paar Tipps. Der Youtuber ist jetzt nicht gerade was man das "gelbe vom Ei" nennt.

- ActionListener werden meist anonym angelegt, da sie keinen State haben und nur für eine Aufgabe und eine Komponente sind (=> dann spart man sich die blöden Abfragen mit e.getSource() == ???)
- Man erbt nicht von JFrame, wenn man die Funktionalität nicht erweitert!!!!
- Klassen werden immer groß geschrieben im UpperCamelCase-Stil!
- Es werden nur Felder angelegt, wenn man diese auch wieder verwenden will und als State hat!

Das wars schon mal mit den wichtigsten Tipps. Bleib aber bitte trotzdem am Ball, versuch mehrere Tutorials/Bücher durchzuarbeiten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
F Variablen Werte einer Klasse überschreiben Java Basics - Anfänger-Themen 4
J Variablen mit einer anderen Klasse bekannt machen Java Basics - Anfänger-Themen 7
R Auf Variablen einer anderen Klasse zugreifen? Java Basics - Anfänger-Themen 1
J Variablen überschreiben innerhalb einer Klasse Java Basics - Anfänger-Themen 7
L auslesen einer Variablen eines Objekt welches "Eigentum" eines Objektes der selben Klasse ist. Java Basics - Anfänger-Themen 12
G Zugriff auf private Variablen einer inneren Klasse Java Basics - Anfänger-Themen 5
N variablen vom typ einer abstrakten Klasse Java Basics - Anfänger-Themen 5
J Von einer Klasse auf Variablen der anderen Klasse zugreifen Java Basics - Anfänger-Themen 8
M Variablen einer Klasse zu durchlaufen möglich? Java Basics - Anfänger-Themen 5
P Variablen in einer anderen Klasse ueberschreiben Java Basics - Anfänger-Themen 2
C auf Variablen von Methoden einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 7
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
H Variablen Multiplikation einer inkrementierten Variablen Java Basics - Anfänger-Themen 5
F Liste nach einer Variablen sortieren Java Basics - Anfänger-Themen 6
R Abfrage von Variablen in Unterklassen einer ArrayList Java Basics - Anfänger-Themen 9
T Übernahme einer Variablen im ActionListener/ActionEvent Java Basics - Anfänger-Themen 2
H Variablen einer Schleife zwischenspeichern Java Basics - Anfänger-Themen 2
P Variablen einer Methode in andere Method übergeben Java Basics - Anfänger-Themen 6
A Variablen aus einer Schleife gezielt auslesen Java Basics - Anfänger-Themen 11
B Probleme beim einlesen einer short variablen für einen Array Java Basics - Anfänger-Themen 1
J Zeilen aus einer .txt-Datei auslesen und Variablen zuweisen Java Basics - Anfänger-Themen 11
M Sortieren von einer Liste - zwei zugehoerige Variablen Java Basics - Anfänger-Themen 5
J Wie behalten Variablen den Wert, den sie in einer anderen Methode erhalten haben? Java Basics - Anfänger-Themen 14
X Variablen Variablen erzeugen in einer Schleife? Java Basics - Anfänger-Themen 6
L Aus einer String Variablen ein Objekt erstellen Java Basics - Anfänger-Themen 14
K Einer Variablen Werte von anderen Variablen zuweisen Java Basics - Anfänger-Themen 5
M Effizienter Variablen außerhalb einer Schleife zu deklarieren? Java Basics - Anfänger-Themen 1
C Datentyp von einer Variablen ermitteln. Java Basics - Anfänger-Themen 12
K Übergabe einer im EventListener definierte variablen Java Basics - Anfänger-Themen 2
A Ausgabe einer variablen im textfeld Java Basics - Anfänger-Themen 3
C Deklaration einer Variablen in einem rekursivem Aufruf Java Basics - Anfänger-Themen 5
M den Pfad einer txt-Datei in einer variablen speichern Java Basics - Anfänger-Themen 6
C Objekt soll sich selber einer Variablen zuweisen. Java Basics - Anfänger-Themen 6
E Mathematisch parsen, aber mit einer Variablen X ! Java Basics - Anfänger-Themen 6
H Unterschied statischer/dynamische Typ einer Variablen Java Basics - Anfänger-Themen 2
G Definition einer logischen Variablen Java Basics - Anfänger-Themen 4
Z Prüfung auf existenz einer Variablen Java Basics - Anfänger-Themen 4
C Aus einer *.csv Datei bestimmte Werte Variablen zuweisen Java Basics - Anfänger-Themen 19
bernd Werte einer Variablen auslesen! Java Basics - Anfänger-Themen 4
M Eibettung einer Variablen in eine Berechnung Java Basics - Anfänger-Themen 5
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
T Variablen Java Basics - Anfänger-Themen 1
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
M Aufsummieren von variablen Wertegrößen Java Basics - Anfänger-Themen 17
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
ashi Variablen aufrufen Java Basics - Anfänger-Themen 17
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
C Konstruktoren und Variablen Java Basics - Anfänger-Themen 42
F Auf Variablen eines Konstruktors zugreifen Java Basics - Anfänger-Themen 4
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
Arif Vererbung Methodenvererbung mit finalen Variablen Java Basics - Anfänger-Themen 1
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
M Java Instanz-Variablen ? Java Basics - Anfänger-Themen 3
B Variablen von Methoden übertragen Java Basics - Anfänger-Themen 2
M Variablen umbenennen Java Basics - Anfänger-Themen 1
T Körper Brechnung - Lokale Variablen in Methoden übergeben Java Basics - Anfänger-Themen 10
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
mars90 Fehler in der Variablen Deklaration Java Basics - Anfänger-Themen 8
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
M Komisches Verhalten der Variablen Java Basics - Anfänger-Themen 6
scratchy1 Variablen vertauschen wenn Bedingung "umgedreht" wird Java Basics - Anfänger-Themen 40
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
A Übergreifende Variablen Java Basics - Anfänger-Themen 17
A Variablen Verständnisfrage bzgl. Variablen/Referenzen Java Basics - Anfänger-Themen 3
H Variablen Methode zum Abfragen von Variablen aus Subklassen Java Basics - Anfänger-Themen 9
P Variablen Variablen voneinander abhängig Java Basics - Anfänger-Themen 54
L Variablen in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
M For-Schleife durch zwei versch. Variablen begrenzen Java Basics - Anfänger-Themen 27
J Klassen Variablen in andere Klassen oder Methoden übernehmen Java Basics - Anfänger-Themen 1
P Liste auslesen und in Variablen speichern Java Basics - Anfänger-Themen 7
temi Redundante Variablen Java Basics - Anfänger-Themen 29
Aprendiendo Zweifel mit versteckter Variablen Java Basics - Anfänger-Themen 16
L Variablen einmal nur zu weisen Java Basics - Anfänger-Themen 62
D Statische Variablen/Methoden Java Basics - Anfänger-Themen 3
M Listener für Button - Wert von Variablen verändern Java Basics - Anfänger-Themen 14
S Vererbung Variablen klassenübergreifend nutzen Java Basics - Anfänger-Themen 42
D Fehlermeldung obwohl Variablen bereits deklariert sind? Java Basics - Anfänger-Themen 14
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
Aruetiise Variablen JFrame und Variablen Java Basics - Anfänger-Themen 3
L Variablen dekleration + reset Java Basics - Anfänger-Themen 16
D Kapselung final Variablen mit Getter? Java Basics - Anfänger-Themen 2
C Variablen von einem JFrame in einen anderen übertragen Java Basics - Anfänger-Themen 3
P Interface Variablen-Inhalte werden nicht übergeben Java Basics - Anfänger-Themen 3
C Variablen in Schleifen außerhalb verwenden Java Basics - Anfänger-Themen 2
S Variablen Flexible Variablen Namen Java Basics - Anfänger-Themen 3
R Erste Schritte 3 Variablen hochzählen lassen Java Basics - Anfänger-Themen 1
RowdyN Variablen Variablen beliebig benennen? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben