Aus einer anderen Klasse auf ein JTextField zugreifen

FAQ_TG

Mitglied
Hallo Forum,

ich bin Java-Anfänger und stehen vor einem Problem:

ich habe in einer Klasse ein JTextField und Button erstellt. Nun soll, wenn der Knopfgedrückt wird eine Methode aufgerufen werden (wie das geht wei? ich schon), jedoch möchte ich in dieser Methode mein JTextField einbeziehen. Das klappt aber nicht. Konkret: Ich möchte von einer anderen Klasse auf den Input des JTextField zugreifen. Kann mir jemand dabei helfen?

Lg
 

Reaschplay

Mitglied
Hier mal ein Programm was den Text von einem Button ändert.
Such dir einfach das raus, was du suchst.

Class MainClass:
Code:
public class MainClass {

    public static void main(String[] args) {
        new Gui();
    }
   
    public static void setTextForButton() {
        Gui.button.setText("Jetzt bin ich ein anderer Text.");
    }
}

Class Gui:
Code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Gui extends JFrame {
static JButton button;
    public Gui() {
        setSize(300, 250); //Standart
        setDefaultCloseOperation(EXIT_ON_CLOSE);
       
        button = new JButton("Irgendwas");
        button.setBounds(100, 100, 50, 20);
        button.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                MainClass.setTextForButton();
               
            }
           
        });
       
        add(button);
       
        setVisible(true); //Visible am Ende
    }

}

Ich hab jetzt den Button direkt unter der Klasse als static deklariert.
Initialisiert hab ich ihn dann einfach später.
 

Robat

Top Contributor
Du deklarierst das JTextField als static am Anfang deiner Klasse.
Dann
GuiName.JTextFieldName.getText();
Davon würde ich ganz stark abraten. Erstens hat es wenig mit dem Konzept von OOP zu tun und 2. wird es mit hoher Wahrscheinlichkeit - gerade bei Anfängern - leicht zu Problemen führen.

Vermeide static so weit es geht.
Nimm lieber die Variante die @krgewb vorgeschlagen hat.
Getter + Setter nutzen!
 

WIng2005

Mitglied
Hallo zusammen,

der Thread ist schon etwas älter, passt aber zu meinem Problem:

Wie kann ich auch einer anderen Klasse heraus auf die Inhalte meiner Gui zugreifen. Ich habe mal ein kleines Beispiel gebastelt:

Meine MainForm:

Java:
import javax.swing.*;

public class MainForm extends JFrame {
    private JTextArea textArea1;
    private JPanel panel1;

    public void setTextArea(String text){
        textArea1.setText(text);
    }

    public MainForm (String title) {

        super(title);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setContentPane(panel1);
        this.pack();
    }
}


Meine Main (hier soll der Zugriff erfolgen):

Java:
import javax.swing.*;

public class Main {
    public static void main(String[] args) {

        JFrame mainFrame= new MainForm("HMeinFenster");
        mainFrame.setSize(800,600);
        mainFrame.setVisible(true);
     
     
        mainFrame.setTextArea("Test");  /*java: Symbol nicht gefunden - Symbol: Methode setTextArea(java.lang.String)*/
    }
}


Könnt ihr mir mal einen Deckanstoß geben?

Vielen Dank..
VG
Steffen
 

Oneixee5

Top Contributor
Hallo zusammen,

der Thread ist schon etwas älter, passt aber zu meinem Problem:

Wie kann ich auch einer anderen Klasse heraus auf die Inhalte meiner Gui zugreifen. Ich habe mal ein kleines Beispiel gebastelt:

Meine MainForm:

Java:
import javax.swing.*;

public class MainForm extends JFrame {
    private JTextArea textArea1;
    private JPanel panel1;

    public void setTextArea(String text){
        textArea1.setText(text);
    }

    public MainForm (String title) {

        super(title);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setContentPane(panel1);
        this.pack();
    }
}


Meine Main (hier soll der Zugriff erfolgen):

Java:
import javax.swing.*;

public class Main {
    public static void main(String[] args) {

        JFrame mainFrame= new MainForm("HMeinFenster");
        mainFrame.setSize(800,600);
        mainFrame.setVisible(true);
    
    
        mainFrame.setTextArea("Test");  /*java: Symbol nicht gefunden - Symbol: Methode setTextArea(java.lang.String)*/
    }
}


Könnt ihr mir mal einen Deckanstoß geben?

Vielen Dank..
VG
Steffen
Das JTextArea textArea1 in MainForm wird nicht initialisiert, daher die Klasse compiliert nicht.
 

mihe7

Top Contributor
Die Variable mainFrame hat den statischen Typ "JFrame", daher stehen nur die Methoden zur Verfügung, die JFrame anbietet. Ändere das mal zu MainForm in Zeile 6.
 

mihe7

Top Contributor
Statt
Java:
        JFrame mainFrame= new MainForm("HMeinFenster");
einfach
Java:
        MainForm mainFrame= new MainForm("HMeinFenster");
 

neu-aber-gut

Mitglied
Wenn ich das rischtig sehr, dann sollte die Klasse nich vom JFrame erben und es we're mitunter sinnvoll, die main-Methode in die Klasse MainForm zu verschieben, um somit nur eine Klasse zu haben...@Wing2005
 

WIng2005

Mitglied
Die Main habe ich bewusst ausgeklammert, da hier noch sehr viel Logik reinkommt, um die App zu initialisieren. Das wird mir in der MainForm zu unübersichtlich. Wäre das ein Nachteil?

VG
Steffen
 

neu-aber-gut

Mitglied
Wäre das ein Nachteil?
Kurz ein Zitat von So dazu...

There really isn't such a thing as "too many classes." What can be a problem is "too many classes doing the same thing."

Das heißt im Klarem: Zuständigkeiten zu trennen ist richtig, Code mit gleicher oder ähnlicher Zuständigkeit sollte aber nicht durch zu viele Klassen zersplittert werden...

Oder einfacher gesagt: Handle nach Augenmaß .. ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
D Einen boolischen Wert aus einer Methode in einer anderen Klasse aufrufen? Java Basics - Anfänger-Themen 11
C Auf die Methode einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 1
Vivien Auf eine Variable von einer anderen Klasse aus zugreifen Java Basics - Anfänger-Themen 3
M Aufruf von statischen Methoden einer anderen Klasse Java Basics - Anfänger-Themen 15
A Methode in einer anderen Klasse verwenden Java Basics - Anfänger-Themen 1
itsmejo Erste Schritte Auf Attribut einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 14
S Auf Methode einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 3
M Auf erstelltes Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 5
M Zugriff auf eine ArrayList in einer anderen Klasse Java Basics - Anfänger-Themen 4
V_Fynn03 Erste Schritte Einen Wert in ein TextField einfügen aus einer anderen Klasse Java Basics - Anfänger-Themen 3
V_Fynn03 Kontostand anzeigen lassen von einer anderen Klasse Java Basics - Anfänger-Themen 3
X Auf Attribut einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 2
E Eigenschaften Werte, in einer anderen Klasse, zuweisen Java Basics - Anfänger-Themen 40
A Mit JComboBox Ergebnis einen Integer aus einer anderen Klasse aufrufen. Java Basics - Anfänger-Themen 2
D Zugriff auf Methode einer anderen Klasse Java Basics - Anfänger-Themen 5
I Instanz einer anderen Klasse zurückgeben Java Basics - Anfänger-Themen 34
F Auf Array einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 4
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
J Variablen mit einer anderen Klasse bekannt machen Java Basics - Anfänger-Themen 7
R Methoden NPE beim Aufruf einer Methode einer anderen Klasse Java Basics - Anfänger-Themen 4
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
L Variable aus einer Klasse in einer anderen Klasse nutzen Java Basics - Anfänger-Themen 6
K Klassen Array einer anderen Klasse ... Java Basics - Anfänger-Themen 21
P Methode soll Variable einer anderen Klasse ändern. Wie? Java Basics - Anfänger-Themen 1
N Attribut einer anderen Klasse übertragen/verwenden Java Basics - Anfänger-Themen 5
T Klassen Klasse in einer anderen Klasse verwenden. Java Basics - Anfänger-Themen 3
J Die Y Koordinate von einer anderen Klasse auch verändern Java Basics - Anfänger-Themen 1
karlmasutra Klassen Rückgabe eines Wertes aus einer anderen Klasse Java Basics - Anfänger-Themen 3
S Auf Array einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 13
A OOP Methodenaufruf in einer anderen Klasse Java Basics - Anfänger-Themen 2
M Erste Schritte Arraylist in einer anderen Klasse verwenden Java Basics - Anfänger-Themen 11
D ArrayList in einer anderen Klasse verwenden Java Basics - Anfänger-Themen 7
R Auf Variablen einer anderen Klasse zugreifen? Java Basics - Anfänger-Themen 1
D Aufruf einer Methode einer anderen Klasse Java Basics - Anfänger-Themen 39
A Kann man ein Attribut aus einer anderen Klasse nutzen? Java Basics - Anfänger-Themen 3
GreenTeaYT Wie gebe ich Informationen von einer Klasse zur anderen Klasse? Java Basics - Anfänger-Themen 9
H Variable einer anderen Klasse importieren Java Basics - Anfänger-Themen 2
P Instanz mit .add Methode von einer Klasse zur anderen? Java Basics - Anfänger-Themen 6
V JButton einer anderen Klasse übergeben? Java Basics - Anfänger-Themen 6
P Methoden ausgelesene (CSV-) Daten in Liste einer anderen Klasse einlesen Java Basics - Anfänger-Themen 0
N Objekt in Methode einer anderen Klasse erzeugen Java Basics - Anfänger-Themen 9
P Klassen Variablen von einer Klasse zur anderen Java Basics - Anfänger-Themen 5
OlafHD Variable aus einer anderen Klasse Verwenden Java Basics - Anfänger-Themen 11
S Methoden Methode einer anderen Klasse aufrufen? Java Basics - Anfänger-Themen 5
M Klassen Main Methode in einer anderen Klasse aufrufen Java Basics - Anfänger-Themen 13
H Klassen varibale einer klasse in einer anderen klasse aufrufen und häufigkeit ausgeben Java Basics - Anfänger-Themen 22
G Methoden Zugriff auf Methode.. aus einer anderen Klasse Java Basics - Anfänger-Themen 6
F Zugriff auf Objekt einer anderen Klasse Java Basics - Anfänger-Themen 7
Z ArrayList einer anderen Klasse übergeben Java Basics - Anfänger-Themen 8
A Methode aus einer anderen Klasse ausführen Java Basics - Anfänger-Themen 7
H Klasse bzw methode der Klasse in einer anderen Klasse benutzen Java Basics - Anfänger-Themen 4
D Zugriff auf von einer anderen Klasse erstellten Objekten Java Basics - Anfänger-Themen 5
K Veränderung einer Variable von einer anderen Klasse aus Java Basics - Anfänger-Themen 12
M Von einer Klasse aus, Objekte einer anderen Klasse verändern. Java Basics - Anfänger-Themen 2
I Java Eingabe aus einer anderen Klasse in eine andere an Konstruktor übergeben Java Basics - Anfänger-Themen 4
W Klassen Variable einer anderen Klasse ändern (Threads) Java Basics - Anfänger-Themen 3
A Erste Schritte Information zwischenspeichern und von einer anderen Klasse auslesen Java Basics - Anfänger-Themen 5
M Auf die Variable einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 9
M Variable aus einer anderen Klasse aktualisieren Java Basics - Anfänger-Themen 2
S Methoden Methode einer anderen Klasse ausführen? Java Basics - Anfänger-Themen 6
E Attribute von einem Objekt einer anderen Klasse ändern Java Basics - Anfänger-Themen 4
K JTextField auslesen, in int umwandeln und in einer anderen Klasse als Zähler verwenden Java Basics - Anfänger-Themen 3
O Variabeln aus einer andere Klasse dauerhaft einen anderen Wert übergeben Java Basics - Anfänger-Themen 5
B methoden aus einer anderen klasse nutzen Java Basics - Anfänger-Themen 3
B Wie kann man auf das JFrame einer anderen Klasse zugreifen, etwas hinzufügen und entfernen?? Java Basics - Anfänger-Themen 3
A Arraylist einer Methode, gefüllt einer anderen Klasse übergeben Java Basics - Anfänger-Themen 17
P Liste in einer Klasse füllen und mehreren anderen Klassen lesend verwenden Java Basics - Anfänger-Themen 5
T NullPointerException bei Verwendung einer Klasse einer anderen .jar datei Java Basics - Anfänger-Themen 3
S Aufruf Einer Methode aus einer anderen Klasse - Static Fehler Java Basics - Anfänger-Themen 4
K OOP Methoden einer anderen Klasse aufrufen Java Basics - Anfänger-Themen 7
M Klassen Durch den ActionListener das GUI einer anderen Klasse verändern Java Basics - Anfänger-Themen 8
L Methoden Eine Methode aus einer anderen Klasse aufrufen Java Basics - Anfänger-Themen 4
M Methode einer anderen Klasse aufrufen Java Basics - Anfänger-Themen 7
C Klassen Zugriff auf Instanz einer anderen Klasse Java Basics - Anfänger-Themen 9
E Elemente einer (öffentlichen) ArrayList in einer anderen Klasse zu einer ArrayList dazu fügen. Java Basics - Anfänger-Themen 7
L Methoden In einer Klasse ein Attribut aus einer anderen Klasse setzen Java Basics - Anfänger-Themen 8
B Klassen über Main Klasse in einer anderen Klasse ein Objekt erstellen Java Basics - Anfänger-Themen 5
G Aufrufen eines Frames aus einer anderen Klasse Java Basics - Anfänger-Themen 6
B Objekte aus einer anderen Klasse(in der sich weitere Klassen befinden) erzeugen Java Basics - Anfänger-Themen 24
K in Konstruktor neue Objekte einer anderen Klasse erzeugen Java Basics - Anfänger-Themen 9
L Methoden Auf statische Methode einer anderen Klasse zugreifen, die Array zurückgibt Java Basics - Anfänger-Themen 3
S Variable aus einer anderen Klasse verwenden Java Basics - Anfänger-Themen 3
pindakaas Instanz einer Klasse in einer anderen erzeugen Java Basics - Anfänger-Themen 6
Y Übertragen von Wert von einer Klasse zu einer anderen Java Basics - Anfänger-Themen 3
S Von einer Klasse auf eine Liste einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 8
9 Klasse aus einer Anderen aufrufen Java Basics - Anfänger-Themen 8
H Variabeln einer Klasse in der anderen verwenden. Java Basics - Anfänger-Themen 3
N Alle Inhalte aus Bean in einer anderen Klasse ausgeben Java Basics - Anfänger-Themen 2
K Methoden aufruf von einer anderen Klasse Java Basics - Anfänger-Themen 7
J Methodenzugriff in einer anderen Klasse Java Basics - Anfänger-Themen 7
B Variable einer Klasse in einer anderen Klasse nutzen Java Basics - Anfänger-Themen 14
H String in Methode einer anderen Klasse übergeben Java Basics - Anfänger-Themen 5
K daten von jtable auslesen und in einer anderen klasse anzeigen und bearbeiten Java Basics - Anfänger-Themen 7
M Methode einer anderen Klasse verwenden Java Basics - Anfänger-Themen 2
T Objekte einer Klasse einer anderen Klasse übergeben Java Basics - Anfänger-Themen 5
P Hintergrundfarbe einer anderen Klasse ändern Java Basics - Anfänger-Themen 7
P Auf Methoden einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 7
J Von einer Klasse auf Variablen der anderen Klasse zugreifen Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben