Layout aus anderer Klasse einfügen

Pichel

Mitglied
Hallo,

ich wollte aus einer anderen Klasse einer anderen Datei ein Layout in einem JTabbed einfügen. Leider kann man das JFrame nicht benutzen. Ich habe nun leider keine Idee, wie das Layout aussehen muss, damit ich es in dieses Tab bekomme.

Für ein paar Denkanstöße wäre ich sehr dankbar

Viele Gruße
Pichel
 
Hallo,

ich verstehe leider nicht so ganz was du meinst. Könntest du das mal bitte an einem konkreten Beispiel erklären?

MFG

Sascha
 
Ok, also....

ich habe eine Datei oberfläche.java, in dem mein JFrame usw. erzeugt werden. In dieser Klasse werden auch die Tabs implementiert.

Code:
setLocationRelativeTo(null);
		JTabbedPane tp = new JTabbedPane();
		for(int i = 0; i < 4; i++){
			//JPanel panel = new JPanel();
			//panel.add(new JLabel("Karte" + i));
			Berechnung berechnung = new Berechnung();
			if (i == 0)
				tp.addTab("Berechnung", berechnung);
			else if (i == 1)
				tp.addTab("Standarddaten", new JLabel("Karte" + i));
			else if (i == 2)
				tp.addTab("Kostenstelle", new JLabel("Karte" + i));
			else
				tp.addTab("Tab" + i, new JLabel("Karte" + i));
			}

In dem Tab 1 Berechnung (rot), referenziere ich auf eine andere Datei Berechnung.java dessen Klasse ein neues Layout erstellt. Dort soll ein Gridbaglayout erzeugt werden. Ich kann da nun leider kein JFrame verwenden, da diese nicht mit dem Container des JTab kompatibel sind. Ich suche nun nach einer Möglichkeit, in der Datei Berechung.java ein Layout zu erstellen, welches ich später dann in die Tabs in der Datei Oberflaeche.java einbinden kann.
 
Dann mußt du einfach JPanel erweitern:
Java:
public class Berechnung extends JPanel {

 public Berechnung(){
   super();
   init();
}

private void init(){
 //weitere Komponente dem Panel hinzufügen
 // this.add(komponente,layout)
}

}
 
Eine Frage hab ich noch,

ist die Methode super() notwendig, wenn ja warum, da es auch ohne super() geht?


viele Grüße
 
Der super-Aufruf ruft einfach den Standard-Konstruktor auf. Das ganze passiert aber auch, wenn super nicht da steht.

MFG

Sascha
 
Zurück