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.:
Mit folgender Klasse soll z.B. eine Manipulation stattfinden...
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!
}
}