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
.
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); } } |
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 :