1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Problem bei Datei zur Verwaltung von Tabs

Discussion in 'Programmieren' started by pcworld, Jul 22, 2008.

Thread Status:
Not open for further replies.
  1. pcworld

    pcworld Byte

    Die folgende Klasse dient dazu, mir ein Fenster mit Tabs zu erstellen
    und die Tabs besser verwalten zu können.
    Ich habe eine Methode setCenterPanel(), die bei einem Tab das Panel
    setzen soll. Aber es wird nur ein leeres Panel angezeigt!

    In der main()-Methode habe ich die Klasse (mit ihrer Unterklasse)
    getestet.

    Mein Code sieht so aus (aufs nötigste beschränkt):

    package testPackage;

    import java.awt.*;
    import javax.swing.*;
    import java.util.ArrayList;

    public class GUI_fenster {
    private ArrayList<GUI_tabs> tabListe = new ArrayList<GUI_tabs>();
    private int fensterHoehe = 700;
    private int fensterBreite = 800;
    private JFrame fenster;
    private GUI_JTabbedPaneWithCloseIcons tabs = new
    GUI_JTabbedPaneWithCloseIcons(); // ist eine
    //JTabbedPane mit Schließen-Buttons

    public GUI_fenster() {
    fenster = new JFrame();
    fenster.setSize(fensterBreiteStandard, fensterHoeheStandard);
    fenster.setLocationRelativeTo(null);
    fenster.add(tabs);
    }

    public void addTab(int arrayNr, String titel) {
    tabListe.add(arrayNr, new GUI_tabs(titel));
    }

    public void addTab(int arrayNr, String titel, JPanel panel) {
    tabListe.add(arrayNr, new GUI_tabs(titel, panel));
    }

    public GUI_tabs getTab(int arrayNr) {
    return tabListe.get(arrayNr);
    }

    public GUI_fenster(String titel) {
    this();
    setTitel(titel);
    }

    public GUI_fenster(String titel, boolean sichtbar) {
    this();
    setTitel(titel);
    setSichtbar(sichtbar);
    }

    public void setSichtbar(boolean sichtbar) {
    fenster.setVisible(sichtbar);
    }

    public void schliessenBeimSchliessen() {
    fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    class GUI_tabs {

    private JPanel gesamtPanel = new JPanel();
    private JPanel northPanel = new JPanel();
    private JPanel eastPanel = new JPanel();
    private Box southBox;
    private JPanel westPanel = new JPanel();
    private JPanel centerPanel = new JPanel();
    private JLabel ueberschriftLabel = new JLabel();

    private GUI_tabs() {
    }

    public GUI_tabs(String titel, JPanel panel) {
    tabs.add(titel, new JPanel());
    setCenterPanel(panel);
    }

    public GUI_tabs(String titel) {
    tabs.add(titel, new JPanel());
    }

    public void setCenterPanel(JPanel panel) {
    JPanel panel2 = new JPanel();
    panel2.setLayout(new GridBagLayout());
    panel2.add(panel);
    centerPanel = new JPanel();
    centerPanel.add(panel2);
    gesamtPanel.setLayout(new BorderLayout());
    gesamtPanel.add(BorderLayout.CENTER, panel);
    gesamtPanel.validate();
    }

    }

    public static void main(String[] args) {
    GUI_fenster fenster = new GUI_fenster();
    fenster.schliessenBeimSchliessen();
    fenster.setSichtbar(true);

    JPanel panel = new JPanel();
    JLabel label = new JLabel("abc");
    panel.add(label);
    fenster.addTab(0, "Test", panel);

    panel.add(new JButton("a"));
    fenster.getTab(0).setCenterPanel(panel);
    fenster.addTab(1, "Test2");

    JPanel x = new JPanel();
    x.add(new JButton("hi"));
    fenster.getTab(1).setCenterPanel(x);
    }

    }
     
Thread Status:
Not open for further replies.

Share This Page