Klassen Richtig auf jTextArea aus anderer Klasse zugreifen?

gumpo03

Mitglied
Hi.
Ich bin noch recht neu in der Java-Programmierung, und bin schon vor ein paar Tagen auf ein Problem gestoßen, das ich einfach nicht ohne fremde Hilfe beseitigen kann.

Ich Habe 2 Klassen. In der Einen wird die Grafische Oberfläche des Programms erzeugt (mit javax.swing).
In der anderen findet der eigentliche Prozess des Programms stat.

Nun muss ich also von Klasse2 auf Klasse1 zugreifen und zb ein jTextArea bearbeiten mit
Code:
jTextArea1.setText("Test-Text");
Das ist an sich ja kein Problem, aber da die Klasse Start heißt, und die Klasse welche Das Fenster erzeugt ebenfalls Start, habe ich das problem, das wenn ich mit
Java:
Start start = new Start();
start.jTextArea1.setText("Test-Text");
die Text Area ändern will jedes mal ein neues Fenster geöffnet wird.
Wie kann ich das umgehen?

Thx 🙂
 
du kannst der zweiten Klasse eine Instanz der ersten übergeben und darüber dann auf alles zugreifen. Oder du machst gewisse Dinge statisch, wobei das nur manchmal sinnvoll ist
 
Warum heissen bei dir beide Klassen Start?:autsch:
Du meinst bestimmt Instanzen😉
Warum heisst überhaupt eine Klasse "Start?" (kann ja mal vorkommen, aber gib den Klassen immer möglichst Namen, die ausdrücken, was die Klasse macht.)
Bei der Klasse, die die Gui bereitstellt zBsp. "GuiKlasse"

Ok, zu deinem eigentlichen Problem.

Übergib eine Referenz der Instanz deiner GuiKlasse an deine LogikKlasse, dann kannst du auch darauf zugreifen.

Mir scheint, als gäbe es bei dir noch ein Problem in den Basics, daher erkundige dich nochmal genau, was eine Klasse, eine Instanz / ein Objekt und was eine Referenz in Java ist.

Gruß Vanny

[EDIT]Ach ja und FINGER WEG VON STATIC !
zumind. solange du nicht weisst, was es bedeutet.[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:
Je nachdem wie deine Interatkion zwischen den Klassen aussieht kannst du auch gleich eine eigene Funktion machen, die dann angesprochen wird und die Arbeit verrichtet. Z.B du willst ins Textfeld einen bestimmten Text setzten.

Java:
public class GUI
{
JTextField textfeld=new JTextField();

public void setTextInTextfield(String text)
{
textfeld.setText(text);
}
}
 

Zurück
Oben