Kommunikation zwischen mehreren Klassen

Status
Nicht offen für weitere Antworten.

lokiht

Aktives Mitglied
Hallo,
ich bin da auf folgendes Problem gestoßen. Ich habe eine Hauptklasse, die eine GUI repräsentiert. Eine Klasse, die alle Komponenten der GUI enthält und eine Klasse, die je nach Anfrage Komponenten oder deren Anzeigen manipulieren muss.

Wenn die gui gestartet wird, muss diese alle Komponenten aus AllComponents bekommen. Dies geht nur, wenn ich in gui ein Objekt vom Typ AllComponents erzeuge. Wenn ich das gemacht habe stellt sich die Frage wie ich mit meiner dritten Klasse auf diese Komponenten zugreifen kann.

Es handelt sich also mehr um die Frage nach einem guten Konzept. Wäre schön wenn mir jemand helfen könnte.

Bsp.:

Code:
package gui;

import javax.swing.JFrame;

import container.AllComponents;

public class gui extends JFrame{
	
AllComponents all = new AllComponents();
	
public gui(){
		this.setContentPane(this.all.getContent());
...
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		gui g = new gui();

	}

}

Code:
package container;

import gui.Tester;
import gui.gui;

import javax.swing.*;

public class AllComponents {

	// Elemente die nachher auf der GUI sichtbar seien sollen
	JPanel content, center;

	JTextArea text;

	public AllComponents() {
		this.content = new JPanel();
		this.center = new JPanel();
		this.text = new JTextArea("Test");		
	}

	public JPanel getCenter() {
		return center;
	}

	public void setCenter(JPanel center) {
		this.center = center;
	}

	public JPanel getContent() {
		return content;
	}

	public void setContent(JPanel content) {
		this.content = content;
	}

	public JTextArea getText() {
		return text;
	}

	public void setText(JTextArea text) {
		this.text = text;
	}
	
	
	


}

Mit folgender Klasse soll z.B. eine Manipulation stattfinden...

Code:
package gui;

public class Tester {

	public Tester(){
		//Manipulation z.B. die Hintergrundfarbe des ContentPane verändern!
	}
	
}
 
Wenn du ein Objekt manipulieren willst, dann brauchst du eine Referenz die auf das Objekt zeigt.
Diese Referenz muss du der Klasse übergeben die das Objekt manipulieren soll,
entweder als Parameter im Konstruktor oder als Parameter einer öffentlichen Methode.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben