Bonjour,je ne trouve pas comment avoir la meme fenetre quand je passe en mode plein ecran les bouton ne sons plus centré
svp qui peut m aider
mercii
Bonjour,je ne trouve pas comment avoir la meme fenetre quand je passe en mode plein ecran les bouton ne sons plus centré
svp qui peut m aider
mercii
Salut,
C'est que tes boutons ne sont pas réellement centrés dans la fenêtre pas en plein écran, mais que c'est juste sa taille qui en donne l'impression. Comment places-tu tes boutons (peux-ton voir le code ?) ?
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
cette partie du code contient les bouton
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////
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 package projet2; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; public class Conteneur_Fenetre extends JPanel { private JLabel Etiquette; private JButton bouton1; private JButton bouton2; private JButton bouton3; public Conteneur_Fenetre() { super(); this.prop_Conteneur(); } private void prop_Conteneur() { //this.setLayout(null); this.pro_Etiquette(); this.pro_Bouton(); } private void pro_Etiquette() { Etiquette = new JLabel(); this.Etiquette.setBounds(50,10, 400, 100); this.Etiquette.setText("bonjour , veuillez choisir votre statut"); this.Etiquette.setForeground(Color.blue); Font font = new Font("Arial",Font.BOLD,20); Etiquette.setFont(font); this.add(Etiquette); } private void pro_Bouton() { bouton1 = new JButton(); this.bouton1.setText("t l"); this.bouton1.setBounds(40, 100, 150, 100); this.add(bouton1); /*mettre une image au lieu d un texte sur un bouton ImageIcon img = new ImageIcon("img/images.jpg"); bouton2 = new JButton("Testeur",img);*/ bouton2=new JButton(); this.bouton2.setBounds(220, 100, 150, 100); this.bouton2.setText("t"); this.add(bouton2); bouton3 = new JButton(); this.bouton3.setBounds(400, 100, 150, 100); this.bouton3.setText("D"); this.add(bouton3); } }
j ai une autre classe fentre la voici
///////////////////////////////////////
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 package projet2; import java.awt.GraphicsDevice; import java.awt.Window; import javax.swing.ImageIcon; import javax.swing.JFrame; public class Fenetre extends JFrame { Conteneur_Fenetre pan; Fenetre() { super(); this.propFenetre();} private void propFenetre() { this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLocationRelativeTo(null); this.setTitle("App"); this.setSize(600, 400); this.setResizable(true); //this.setAlwaysOnTop(true); pan = new Conteneur_Fenetre(); this.setContentPane(pan); this.setVisible(true); //changer l icone de l app ImageIcon image = new ImageIcon("img/images.jpg"); this.setIconImage(image.getImage()); //fen.setVisible(true); //Passage en plein écran GraphicsDevice myDevice = java.awt.GraphicsEnvironment. getLocalGraphicsEnvironment().getDefaultScreenDevice(); Window myWindow = null; if( myDevice.isFullScreenSupported() ) { try { myDevice.setFullScreenWindow(myWindow); } finally { myDevice.setFullScreenWindow(null); } } else { System.err.println("Plein écran non supporté"); } } }
Forcément, en utilisant un placement absolu, les boutons sont à des positions fixées et de tailles fixées : il n'y a aucune raison qu'ils changent de place, donc deviennent centrés si la taille de la fenêtre change. Tu as commenté setLayout(null), donc maintenant tes boutons sont placés automatiquement. Le gestionnaire de placement est celui par défaut (pour un JPanel, c'est un FlowLayout). Normalement, il faut éviter d'utiliser des placements absolus, justement à cause du problème que tu as (les positions et tailles ne s'adaptend pas automatiquement à la taille de la fenêtre).
Tu as plusieurs possibilités :
- Utilisez les gestionnaires de placement adaptés. Un GridBagLayout devrait faire l'affaire.
- Solution bancale, mais simple, avec ton code (en remettant le setLayout(null)) : mettre le panel pan dans un GridBagLayout (le panel sera centré horizontalement et verticalement, si c'est bien ce que tu veux)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //this.setSize(600, 400); this.setResizable(true); // this.setAlwaysOnTop(true); pan = new Conteneur_Fenetre(); JPanel main = new JPanel(new GridBagLayout()); // va centré son uniquement contenu (pan) pan.setPreferredSize(new Dimension(600,400)); // avec un layout null, un composant n'a pas de taille, on lui en donne une donc main.add(pan); this.setContentPane(main); pack(); this.setVisible(true);
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
mercii beaucoup Joel.drigo , je vais essayé avec le GridBagLayout , je vous tiendrai au courant du résultat
Partager