Hallo,
ich bin gerade dabei mir eine GUI mit Swing zu bauen. Ich würde gerne eine JTabbedPane benutzen. Leider scheine ich irgend etwas falsch zu machen und nach 2 Stunden hin und her weiß ich nicht mehr so richtig weiter. Ich glaube es ist nur eine Kleinigkeit. Aber ich finde sie leider nicht.
Es wäre sehr lieb von euch, wenn ihr einmal kurz drüber schauen könntet.
Das bekomme ich als Fehlermeldung
Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
at java.awt.Container.checkNotAWindow(Unknown Source)
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at tool.swing.TabbedPane.initComponents(TabbedPane.java:104)
at tool.swing.TabbedPane.<init>(TabbedPane.java:51)
at tool.swing.TabbedPane.main(TabbedPane.java:117)
Hier der Code
vielen lieben Dank
Deg
ich bin gerade dabei mir eine GUI mit Swing zu bauen. Ich würde gerne eine JTabbedPane benutzen. Leider scheine ich irgend etwas falsch zu machen und nach 2 Stunden hin und her weiß ich nicht mehr so richtig weiter. Ich glaube es ist nur eine Kleinigkeit. Aber ich finde sie leider nicht.
Es wäre sehr lieb von euch, wenn ihr einmal kurz drüber schauen könntet.
Das bekomme ich als Fehlermeldung
Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
at java.awt.Container.checkNotAWindow(Unknown Source)
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at tool.swing.TabbedPane.initComponents(TabbedPane.java:104)
at tool.swing.TabbedPane.<init>(TabbedPane.java:51)
at tool.swing.TabbedPane.main(TabbedPane.java:117)
Hier der Code
Java:
package tool.swing;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
public class TabbedPane extends JFrame{
private static final long serialVersionUID = -5289182545814397592L;
// Globale Variablen
private Toolkit t;
private int x = 0, y = 0, width = 800, height = 600; //Variablen zur Positionierung des Fensters
// ------------- Komponenten für die GUI --------------
private JDialog meinDialog;
private JTabbedPane tabpane;
// Die Tabbs
private JPanel panelRot;
private JPanel panelBlau;
private JPanel panelGruen;
private JPanel panelGelb;
private JPanel panelPink;
private JPanel panelSchwarz;
// ------------------ Konstruktor ---------------------
public TabbedPane(){
// Fenster zentral positionieren
t = Toolkit.getDefaultToolkit(); // Fenstergröße holen
Dimension d = t.getScreenSize();
x = (int) ((d.getWidth() - width) / 2); // x und y Position in Abhängigkeit des Bildschirms berechnen
y = (int) ((d.getHeight() - height) / 2);
setTitle("Überschrift");
setBounds(x, y, width, height); // Startposition/Größe des Fensters
// Schließt das Fenster und alle Anwendungen, also obacht beim setzen der Option
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Initialisierung vers. Methoden (Komponenten, Listerns, usw.)
this.initComponents();
this.initListeners();
meinDialog.setVisible(true);
}
// ------------ Methode zur Initialisierung der Komponenten für die GUI --------------------
private void initComponents() {
// ------------ Objekte erstellen -----------------
// JDialog-Objekt erzeugen
this.meinDialog = new JDialog();
// TabbedPane-Objekt erzeugen
this.tabpane = new JTabbedPane(JTabbedPane.TOP, JTabbedPane.SCROLL_TAB_LAYOUT);
// Tabbs
this.panelRot = new JPanel();
this.panelRot.setBackground(Color.RED);
this.panelBlau = new JPanel();
this.panelBlau.setBackground(Color.RED);
this.panelGruen = new JPanel();
this.panelGruen.setBackground(Color.RED);
this.panelGelb = new JPanel();
this.panelGelb.setBackground(Color.RED);
this.panelPink = new JPanel();
this.panelPink.setBackground(Color.RED);
this.panelSchwarz = new JPanel();
this.panelSchwarz.setBackground(Color.RED);
// ------------ Objekte im Layout plazieren ------------------
// Tabs dem tabpane hinzufügen
this.tabpane.addTab("Ich bin rot", this.panelRot);
this.tabpane.addTab("Ich bin blau", this.panelBlau);
this.tabpane.addTab("Ich bin grün", this.panelGruen);
this.tabpane.addTab("Ich bin gelb", this.panelGelb);
this.tabpane.addTab("Ich bin pink", this.panelPink);
this.tabpane.addTab("Ich bin schwarz", this.panelSchwarz);
// tabpane den Dialog hinzufügen
this.meinDialog.add(this.tabpane);
// Dialog dem JFram hinzufüge
this.getContentPane().add(this.meinDialog);
}
// ------------- Methode für die Listeners (Reaktion auf Veränderungen in der GUI) -----------
private void initListeners() {
}
public static void main(String[] args)
{
new TabbedPane(); //Ruft den Konstruktor auf, der das Fenster erstellt
}
}
vielen lieben Dank
Deg