# Kommunikation zwischen zwei jFrames



## till123 (29. Jun 2008)

Hallo,

ich habe folgendes kleines Problem:
(stehe da irgendwie voll auf dem Schlauch)

Ich habe zwei jFrames (das eine wird aus dem anderen aufgerufen [durch drücken eines Buttons]).

Das erste jFrame beinhaltet einen jTable, welche mit einer privaten Methode -buildTable- (befindet sich auch in diesem jFrame) gefüllt wird.

Nun möchte ich diese private Methode aus dem zweiten jFrame aufrufen - also eine "Art" reload des jTables machen.


Habt ihr da ne Idee?


Danke im Vorraus.


----------



## L-ectron-X (29. Jun 2008)

Du kannst keine privaten Methoden von außen aufrufen.
Dein zweiter JFrame (besser wäre ein JDialog) benötigt eine Referenz auf den ersten JFrame. Auf dieser Referenz kannst du aus dem zweiten Fenster eine öffentliche oder geschützte (protected) Methode aufrufen, die die private Methode aufruft.


----------



## till123 (29. Jun 2008)

1.) Warum wäre hier ein Dialog besser?
2.) Wie kreiere ich die Referenz? Durch Übergabe im Konstruktor?

Danke


----------



## L-ectron-X (29. Jun 2008)

till123 hat gesagt.:
			
		

> 1.) Warum wäre hier ein Dialog besser?


Weil eine Anwendung immer nur einen JFrame (Hauptfenster) haben sollte.



			
				till123 hat gesagt.:
			
		

> 2.) Wie kreiere ich die Referenz? Durch Übergabe im Konstruktor?


Genau.


```
//im MainFrame (extends JFrame)
MyDialog dialog = new MyDialog(this);
[...]

public void doReload() {
   reload();
}

private void reload() {
   //dein JTable-Reload
}
```


```
//im MyDialog (extends JDialog)
public MyDialog(MainFrame frame) {
   this.frame = frame;
   //weitere Anweisungen
}

private void reload() {
   frame.doReload();
}
```


----------



## till123 (29. Jun 2008)

Super, vielen Dank.

Damit sind alle Fragen beantwortet!


----------

