# Tab von JTabbedPane ausblenden?



## Mr_Tilde (11. Mrz 2007)

Hi!

Gibt es eine Möglichkeit, ein Tab einer JTabbedPabe auszublenden??? "setEnabled(false) reicht mir nicht... Oder gibt es einen Trick, das Tab auszublenden??? Eine Funktion habe ich nämlich bisher nicht gefunden!

Danke + Gruss
Mr_Tilde


----------



## doctus (11. Mrz 2007)

wie wäre es, wenn du es entfernst und wenn du es brauchst wieder hinzufügst. müsste eigendlich klappen.

lg doctus


----------



## Mr_Tilde (11. Mrz 2007)

doctus hat gesagt.:
			
		

> wie wäre es, wenn du es entfernst und wenn du es brauchst wieder hinzufügst. müsste eigendlich klappen.
> 
> lg doctus



Die Idee ist gut... Aber leider geht das in meinem Fall nicht! Gibt es vielleicht andere Vorschläge???


----------



## Foermchen82 (12. Mrz 2007)

Wieso geht das in deinem Fall nicht?? du kann doch in ner zwiten liste die invisible Tabs vorhalten. So gehen dir die Informationen nicht verloren.


----------



## Mr_Tilde (12. Mrz 2007)

Ich suche nach einer Möglichkeit, das Tab lediglich "auszublenden"... Das hat mit der internen Verarbeitung zu tun! Bitte helfen...!!!


----------



## Mr_Tilde (14. Mrz 2007)

Bitte helfen...!


----------



## André Uhres (19. Mrz 2007)

Mr_Tilde hat gesagt.:
			
		

> Bitte helfen...!




```
package tabbed;
/*
 * TabsAusblenden.java
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.plaf.basic.BasicTabbedPaneUI;
public class TabsAusblenden extends JFrame{
    private boolean tab2aus;
    private JToggleButton btaus;
    private JTabbedPane tp;
    public TabsAusblenden(){
        super("Tabs Ausblenden Demo");
        setSize(500,600);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        tp = createTabbedPane(JTabbedPane.TOP);
        add(tp);
        btaus = new JToggleButton("Tab2 aus/einblenden");
        add(btaus, BorderLayout.NORTH);
        btaus.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                doBtAction();
            }
        });
    }
    private void doBtAction(){
        tab2aus = false;
        if(btaus.isSelected()){
            tab2aus = true;
            if(tp.getSelectedIndex() == 1){
                tp.setSelectedIndex(0);
            }
        }
        tp.revalidate();
        tp.repaint();
    }
    private JTabbedPane createTabbedPane(final int tabPlacement){
        JTabbedPane tabbedpane = new JTabbedPane();
        tabbedpane.setTabPlacement(tabPlacement);
        tabbedpane.setUI(new TabsUI());
        tabbedpane.addTab("panel 1", new JLabel("panel 1"));
        tabbedpane.addTab("panel 2", new JLabel("panel 2"));
        tabbedpane.addTab("panel 3", new JLabel("panel 3"));
        return tabbedpane;
    }
    private class TabsUI extends BasicTabbedPaneUI{
        public TabsUI(){
            super();
        }
        protected int calculateTabWidth(final int tabPlacement, final int tabIndex,
                final FontMetrics metrics){
            int width = super.calculateTabWidth(tabPlacement,tabIndex,metrics);
            if(tab2aus && tabIndex == 1){
                width = 0;
            }
            return width;
        }
    }
    public static void main(final String[] args){new TabsAusblenden().setVisible(true);}
}
```


----------

