IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

Utilisation des onglets


Sujet :

Java

  1. #1
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Points : 191
    Points
    191
    Par défaut Utilisation des onglets
    Bonjour à tous,

    Je cherche à mettre des onglets dans une fenetre en dessous du menu.
    Mon problème est que je n'arrive pas à les afficher.

    Déroulement du programme:
    Appel de la classe Fen_tournoi_6joueurs
    --> Dans cette classe je fais afficher la fenetre, le menu, et les onglets.
    Pour la gestion des onglets j'utilise une classe nommé Onglet_fen
    Appel de la classe Onglet_fen
    -->Cette classe me permet en fonction de la demande d'afficher les onglets nécessaires.
    Pour la gestion du contenu des onglets, j'utilise une classe par onglets.
    Pour les essais, j'ai mis la meme classe pour tous les onglets. Cette classe s'appelle Panel_joueurs


    Voici mon code:
    Classe Fen_tournoi_6joueurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    import java.awt.Image;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
     
     
    public class Fen_tournoi_6joueurs extends JFrame{
    	private static final long serialVersionUID = 1L;
    	private JPanel pan = new JPanel();
     
     
    	public Fen_tournoi_6joueurs(){
            //Définit un titre pour votre fenêtre
            this.setTitle("essai - Feuille de match (tournoi 6 joueurs)");
            //Définit une taille pour celle-ci ; ici, 400 px de large et 500 px de haut
            this.setSize(1100, 700);
            //On aggrandi la fenetre
            this.setExtendedState(JFrame.MAXIMIZED_BOTH );
            //Fenetre qu'il n'est pas possible de changer la taille
            this.setResizable(true);
            //Nous allons maintenant dire à notre objet de se positionner au centre
            this.setLocationRelativeTo(null);
            //Ferme-toi lorsqu'on clique sur "Fermer" !
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		/** Accès au toolkit : */
            java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
            Image icone = toolkit.getImage("image/favicon.png");
            setIconImage(icone);
            //On appelle le menu
            Menu_fen menubar= new Menu_fen();
            this.setJMenuBar(menubar.getmenuBar());
     
            //On appelle les onglets
            Onglet_fen onglet= new Onglet_fen("6_joueurs");
            this.add(onglet.getongletBar());
            //intFenetre();
     
            this.setContentPane(pan);
            this.setVisible(true);
        }
     
    }
    Classe Onglet_fen
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    import javax.swing.JTabbedPane;
    import javax.swing.ImageIcon;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JComponent;
     
    import java.awt.GridLayout;
    import java.awt.event.KeyEvent;
     
    public class Onglet_fen
    {
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
    	private JPanel ongletBar = new JPanel();
    	private String typeonglet;
    	private JTabbedPane tabbedPane = new JTabbedPane();
    	public Onglet_fen(String type_onglet)
    	{
    		// TODO Auto-generated constructor stub
    		typeonglet = type_onglet;
     
    	    ImageIcon icon = createImageIcon("images/middle.gif");
     
    	    Panel_joueurs panel1 = new Panel_joueurs();
    	    tabbedPane.addTab("Joueurs", icon, panel1,"Does nothing");
    	    tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);
     
    	    Panel_joueurs panel2 = new Panel_joueurs();
    	    tabbedPane.addTab("Résultats", icon, panel2,"Does twice as much nothing");
    	    tabbedPane.setMnemonicAt(1, KeyEvent.VK_2);
     
    	    Panel_joueurs panel3 = new Panel_joueurs();
    	    tabbedPane.addTab("tour de jeu 6 joueurs", icon, panel3,"Still does nothing");
    	    tabbedPane.setMnemonicAt(2, KeyEvent.VK_3);
     
    	    Panel_joueurs panel4 = new Panel_joueurs();
    	    tabbedPane.addTab("Tour de jeu 5 joueurs", icon, panel4,"Does nothing at all");
    	    tabbedPane.setMnemonicAt(3, KeyEvent.VK_4);
     
    	    //The following line enables to use scrolling tabs.
    	    tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
     
    	    //Add the tabbed pane to this panel.
    	    this.ongletBar.add(tabbedPane);
    	}
     
    	protected JComponent makeTextPanel(String text) {
    	    JPanel panel = new JPanel(false);
    	    JLabel filler = new JLabel(text);
    	    filler.setHorizontalAlignment(JLabel.CENTER);
    	    panel.setLayout(new GridLayout(1, 1));
    	    panel.add(filler);
    	    return panel;
    	}
    	/** Returns an ImageIcon, or null if the path was invalid. */
    	protected static ImageIcon createImageIcon(String path) {
    		java.net.URL imgURL = Onglet_fen.class.getResource(path);
    		if (imgURL != null) {
    	        return new ImageIcon(imgURL);
    	    } else {
    	        System.err.println("Couldn't find file: " + path);
    	        return null;
    	    }
    	}
    	//ACCESSEURS ongletBar // renvoi les onglets
    	public JPanel getongletBar()
    	  {
    	          return ongletBar;
    	  }
    }
    Classe Panel_joueurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    import java.awt.GridLayout;
     
    import javax.swing.JComponent;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
     
    public class Panel_joueurs extends JComponent{
    	public Panel_joueurs(){
    	    JPanel panel = new JPanel(false);
    	    JLabel filler = new JLabel("essai");
    	    filler.setHorizontalAlignment(JLabel.CENTER);
    	    panel.setLayout(new GridLayout(1, 1));
    	    panel.add(filler);
    	}
     
    }
    Pour réaliser les onglets, je me suis aider d'un tuto en anglais:
    http://java.sun.com/docs/books/tutor...abbedpane.html

  2. #2
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Salut,

    Dans ta classe Onglet_fen
    rajoute au début dans le constructeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.ongletBar.setLayout(new BorderLayout());
    Dans ta classe Fen_tournoi_6joueurs :
    remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    this.add(onglet.getongletBar());
    //intFenetre();
     
    this.setContentPane(pan);
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     //this.add(onglet.getongletBar());
    //intFenetre();
     
    this.setContentPane(onglet.getongletBar());
    Tu commence par ajouter ton panel d'onglet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.add(onglet.getongletBar());
    Puis tu dit a la fenêtre que tout l'espace doit être occupé par pan :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.setContentPane(pan);
    C'est incohérent.

  3. #3
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Points : 191
    Points
    191
    Par défaut
    Merci de ton aide visiwi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Utilisation unique des onglets du ruban
    Par mbo2 dans le forum IHM
    Réponses: 1
    Dernier message: 24/04/2013, 15h06
  2. Comment cacher des onglets tout en les utilisant
    Par Sherman750 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/12/2012, 16h45
  3. Réponses: 23
    Dernier message: 08/04/2010, 18h07
  4. Utilisation des onglets ?
    Par yoyom dans le forum IHM
    Réponses: 4
    Dernier message: 03/03/2007, 22h26
  5. Question sur l'utilisation des onglets
    Par diden138 dans le forum Delphi
    Réponses: 20
    Dernier message: 16/11/2006, 19h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo