Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Swing - Utilisation du composant JTabbedPane

Utilisation de composants JSplitPane Utilisation d'un JDesktopPane



Utilisation du composant JTabbedPane

Le composant javax.swing.JTabbedPane permet d'instancier un composant de type conteneur d'onglets. Ce type de composants peut contenir plusieurs sous-composants, que vous insérerez en invoquant l'une des méthodes addTab (il y a plusieurs signatures disponibles : avec ou sans icône, ...). Un seul des sous-composants sera visible à un instant donné et vous pourrez choisir lequel sera affiché en avant-plan en cliquant sur l'onglet qui lui est associé.

La barre d'onglets, permettant la sélection du composant placé en avant-plan, est affichée par défaut en haut du conteneur. Mais vous pouvez choisir de la placer sur le bord de votre choix en invoquant la méthode setTabPlacement.

Exemple de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
 31 
 32 
 33 
 34 
 35 
 36 
 37 
 38 
 39 
 40 
 41 
 42 
 43 
 44 
 45 
 46 
 47 
 48 
 49 
 50 
 51 
 52 
 53 
 54 
 55 
 56 
 57 
 58 
import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTree;
import javax.swing.UIManager;
import javax.swing.plaf.nimbus.NimbusLookAndFeel;

public class JTabbedPaneSample extends JFrame {
    
    private static final long serialVersionUID = 8880534690644326693L;

    // --- Construction de l'interface graphique ---
    public JTabbedPaneSample() throws Exception {
        super( "JTabbedPane sample" );
        this.setSize( 800, 500 );
        this.setLocationRelativeTo( null );
        this.setDefaultCloseOperation( DISPOSE_ON_CLOSE );
        
        // --- On crée le conteneur d'onglets (partie gauche) ---
        JTabbedPane tabs = new JTabbedPane();
        tabs.setPreferredSize( new Dimension( 260, 0 ) );
        tabs.setTabPlacement( JTabbedPane.BOTTOM );

        // --- Premier onglet et son composant associé ---
        tabs.addTab( "Explorer", new JScrollPane( new JTree() ) );

        // --- Second onglet et son composant associé ---
        JEditorPane helpPane = new JEditorPane();
        helpPane.setEditable( false );
        helpPane.setPage( "file:docs/index.html" );
        tabs.addTab( "Help", new JScrollPane( helpPane ) );
        
        // --- On crée un éditeur (partie droite) ---
        JTextArea editor = new JTextArea();
        JScrollPane scrollEditor = new JScrollPane( editor );        

        // -- On assemble la partie gauche et la partir droite dans un splitter ---
        JSplitPane splitter = new JSplitPane( JSplitPane.HORIZONTAL_SPLIT, tabs, scrollEditor );
        
        // --- On récupère le contentPane et on y ajoute le splitter ---
        JPanel contentPane = (JPanel) getContentPane();
        contentPane.add( splitter, BorderLayout.CENTER );
    }
    
    // --- Point d'entrée du programme ---
    public static void main(String[] args) throws Exception {
        UIManager.setLookAndFeel( new NimbusLookAndFeel() );
        JTabbedPaneSample frame = new JTabbedPaneSample();
        frame.setVisible(true);
    }
}
Exemple d'utilisation d'un composant JTabbedPane


Utilisation de composants JSplitPane Utilisation d'un JDesktopPane