Problem mit Übergabe bei action in andere Klasse

Status
Nicht offen für weitere Antworten.

Borsti

Mitglied
Hallo,

ich habe folgendes Problem:

Ich habe zwei klassen die eine heißt Fenster ind dieser ist eine TextArea und die andere heißt Menueladen. In der Klasse Menueladen wird ein Text File geladen und dessen Inhalt möchte ich gerne in die Klasse Fenster in das TextArea Feld einfügen. Würde ja auch so erstmal nicht das Problem sein doch das ganze wird in der Klasse Menueladen per Button Klick ausgeführt und somit schreibt er irgendwie nix in die TextArea rein Hier mal die wichtigen Code Teile meiner beiden Klassen.

FensterKlasse

Code:
   public void setText(String test) 
   { 
      this.textfeld.setText(test); 
   }

Menueladen

Code:
public void actionPerformed(ActionEvent e)
{
		
	try 
	{ 
        
        	BufferedReader eingabe = new BufferedReader(new FileReader("test.txt")); 
         	String text ="";
         	
         	for(String buffer;(buffer = eingabe.readLine()) != null; text+=buffer+"\n"); 
	
                //Interessanter Teil		        	
         	Fenster t = new Fenster();
         	t.setText(text);
         	
         	feldinfo.setBackground(Color.GREEN);
                feldinfo.setText("Datei wurde gespeichert.");
      
      	} 
      	catch (IOException b) 
      	{ 
      		
      		feldinfo.setBackground(Color.RED);
		feldinfo.setText("Fehler: Datei konnte nicht gespeichert werden!");
      	
      	}
	
}


Ich hoffe ihr könnt mir helfen.
 
Borsti hat gesagt.:
Hallo,

ich habe folgendes Problem:

Ich habe zwei klassen die eine heißt Fenster ind dieser ist eine TextArea und die andere heißt Menueladen. In der Klasse Menueladen wird ein Text File geladen und dessen Inhalt möchte ich gerne in die Klasse Fenster in das TextArea Feld einfügen. Würde ja auch so erstmal nicht das Problem sein doch das ganze wird in der Klasse Menueladen per Button Klick ausgeführt und somit schreibt er irgendwie nix in die TextArea rein

Übergib der Klasse Menueladen im Konstruktor eine Referenz auf Fenster. Auf diese Referenz kannst Du dann im actionPerformed zugreifen und die gewünschte public-Methode aufrufen.
 
Hallo,

danke erstmal für di Antwort, doch ich verstehe sie nur halb kannst du den Code mal schreiben.

Bin noch neu in der Programmierung.

Vielen Dank
 
Borsti hat gesagt.:
Hallo,

danke erstmal für di Antwort, doch ich verstehe sie nur halb kannst du den Code mal schreiben.

Bin noch neu in der Programmierung.

Vielen Dank

Z.B.

Code:
class Fenster extends JFrame // oder so
{
  Fenster()
  {
   // z.B. hier:
   Menueladen menue = new Menueladen(this);
  }

   public void setTextFieldText(String test)
   {
      this.textfeld.setText(test);
   } 
}

class Menueladen//...
{
   Fenster m_cFenster = null;

  Menueladen(Fenster myFenster)
  {
    m_cFenster = myFenster;
  }

  public void actionPerformed(ActionEvent e)
  { 
   // irgendwo...
   m_cFenster.setTextFieldText("dein Text");
  }
}
 
Hi,

besten dank @Snape und auch @Gast wenn du es nicht sein solltest es funktioniert so, alles wunderbar.

Vielen Dank
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben