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
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 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 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
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; } }
Pour réaliser les onglets, je me suis aider d'un tuto en anglais:
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); } }
http://java.sun.com/docs/books/tutor...abbedpane.html
Partager