Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Programmation > Langage Java > les menus et les boutons > Lecture du sujet

les menus et les boutons

Vous devez être inscrit pour pouvoir poster des messages

RésoluLe problème de ce sujet a été résolu

Page : 1 
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : 1 
Connecté nanona # Posté le 07/10/2008 à 16:39:24
0 d2m1 je serai 1,promis;)
Avatar
Groupe : Membres
bonjour à tous
et finalement grace au tuto langage Java de cysboy je suis arrivé au point de dire "je viens de créer ma propre interface"
j'ai crée une fenêtre qui a une barre de menu ou il y a un menu file=fichier , ce dernier contient un bouton ouvrir.
le problème c que le rectangle du bouton ne prend pas tout l'espace du menu file
voila une capture d'écran

Image utilisateur

qu'est ce qu'il faut faire dans ce cas ?
merci !!!!!

Image utilisateur
 
Hors ligne kayzra # Posté le 07/10/2008 à 19:12:13
Avatar
Groupe : Membres
Cette réponse a aidé l'auteur du sujet Cette réponse a aidé l'auteur du sujet
Pourquoi un bouton ? En général on utilise un JMenuItem avec un action listener... mais tu tiens peut-être à tes boutons?

Tu ne donne pas ton code, je te montre donc comment on utilise en général une JMenuBar.

tu crées une JMenuBar, tu lui ajoute par exemple un JMenu puis des JMenuItem ...

pour qu'un clic sur un JMenuItem réalise une action tu lui ajoute un actionListener :

Code : Java
 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
public class TestBarre1 extends javax.swing.JFrame {
    
    private javax.swing.JMenu menu;                 //
    private javax.swing.JMenuBar barre;
    private javax.swing.JMenuItem menuItemOuvrir;
    private javax.swing.JMenuItem menuItemEnregistrer;
    private javax.swing.JMenuItem menuItemQuitter;
    private javax.swing.JSeparator separateur;
    
    public TestBarre1() {

        barre = new javax.swing.JMenuBar();
        menu = new javax.swing.JMenu();
        menuItemOuvrir = new javax.swing.JMenuItem();
        menuItemEnregistrer = new javax.swing.JMenuItem();
        separateur = new javax.swing.JSeparator();
        menuItemQuitter = new javax.swing.JMenuItem();
        
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        menu.setText("File");

        menuItemOuvrir.setText("Ouvrir");
        menu.add(menuItemOuvrir);
        menuItemOuvrir.addActionListener(new java.awt.event.ActionListener() { // tu utilise un action listener sur ton JMenuItem
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                System.out.println("clic sur Ouvrir !!!");;
            }
        });

        menuItemEnregistrer.setText("Enregistrer");
        menu.add(menuItemEnregistrer);
        menu.add(separateur);

        menuItemQuitter.setText("Quitter");
        menu.add(menuItemQuitter);

        barre.add(menu);
        
        setJMenuBar(barre);

        setSize(400, 400);
        setVisible(true);
    }
    
    public static void main(String args[]) {
        
        TestBarre1 test = new TestBarre1();
        
    }
           
}
Édité le 07/10/2008 à 19:20:51 par kayzra

IRC: #ubuntu-fr => irc.ubuntu.com
 
Connecté nanona # Posté le 07/10/2008 à 20:04:23
0 d2m1 je serai 1,promis;)
Avatar
Groupe : Membres
voici mon code , mon objectif et d'ouvrir un fichier stoker ds mon disque dure
Code : Java
  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
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.UIManager;

import java.io.*;

public class fan extends JFrame{

	private Panneau pan = new Panneau();
	//private JPanel pan = new JPanel();
    private JPanel container = new JPanel();
   
    private JMenuBar menuBar = new JMenuBar();
    
    private JMenu fichier= new JMenu("Fichier"),
    		edition = new JMenu("Edition"),
    		typeForme = new JMenu("Type de forme"),
    		aPropos = new JMenu("À propos");
    		//ouvrir = new JMenu("ouvrir");
            bouton ouvrir = new bouton("Ouvrir");
   
   
    private JMenuItem arreter = new JMenuItem("enregistrer sous"),
    				quitter = new JMenuItem("Quitter"),
    				aProposItem2 = new JMenuItem("contact as"),
    				aProposItem = new JMenuItem("?");
    
    
    
    public fan(){
    	 
    	 
            this.setTitle("Generateur-ontology");
            this.setSize(300, 300);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setLocationRelativeTo(null);
           
           
            container.setBackground(Color.white);
            
            
            container.setLayout(new BorderLayout());
            
            container.add(pan, BorderLayout.CENTER);
            
            
            this.setContentPane(container);
           
            this.initMenu();
            
            
            this.setVisible(true);            
                        
    }
	
    private void initMenu(){
    	
    	try{
   	     UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
   	     }
   	     catch (Exception e)
   	     {
   	     }
   	    
    	ouvrir.addActionListener(new Ouvrir());
    	fichier.add(ouvrir);
    	arreter.setEnabled(false);
    	fichier.add(arreter);
    	
    	fichier.addSeparator();
        
    	quitter.addActionListener(new ActionListener(){
    		public void actionPerformed(ActionEvent event){
    			System.exit(0);
    		}
    	});
    	fichier.add(quitter);
    	
    	//menu à propos	
    	aPropos.add(aProposItem2);
    	aPropos.add(aProposItem);
    
    	
    	//Ajout des menus dans la barre de menus
    	menuBar.add(fichier);
    	menuBar.add(edition);
    	menuBar.add(aPropos);
    	
    	//Ajout de la barre de menus sur la fenêtre
    	this.setJMenuBar(menuBar);
    }
   
	
	
	
	 class Ouvrir implements ActionListener{
	    
	     public void actionPerformed(ActionEvent evt) {
	    	 
	     JFileChooser file = new JFileChooser();
	     file.setApproveButtonText("ouvrir"); 
	     file.showOpenDialog(null); 
	     
	     }

		
		
	     } 
}

j'ai utilisé les boutons puisq j'avais pensé que se sont les seuls qu'on peut les écouté , bon s'il est possible avec les menus donc c génial
malheureusement j'ai essayé d'utiliser un menu à la place du bouton mais ca ne marche pas , la méthode ouvrir n'écoute pas le menu ouvrir
Édité le 07/10/2008 à 20:19:00 par nanona

Image utilisateur
 
Connecté cysboy # Posté le 07/10/2008 à 20:10:05
tout est bô dans l' info
Avatar
Groupe : Membres
Cette réponse a aidé l'auteur du sujet Cette réponse a aidé l'auteur du sujet
Il faut que tu mettes un JMenuItem dans un JMenu :

Code : Java
1
2
3
4
5
6
7
8
JMenu fichier = new JMenu("File");
JMenuItem ouvrir = new JMenuItem("Open");
ouvrir.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent event){
       //Tes traitements 
   }
});
fichier.add(ouvrir);

Image utilisateurImage utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur
 
Connecté nanona # Posté le 07/10/2008 à 20:15:03
0 d2m1 je serai 1,promis;)
Avatar
Groupe : Membres
waw très bien maintenant ca marche très bien
un grand merci pour vous deux kayzra et cysboy :D

voici le code final qui marche très bien un cadeau pour vous :lol: pour ne pas tomber ds le meme problème.



Code : Java
  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
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.UIManager;
import java.io.*;

public class Fenetre extends JFrame{

	private Panneau pan = new Panneau();
	//private JPanel pan = new JPanel();
    private JPanel container = new JPanel();
   
    private JMenuBar menuBar = new JMenuBar();
    JMenuItem ouvrir = new JMenuItem("ouvrir");
    private JMenu fichier= new JMenu("Fichier"),
    		edition = new JMenu("Edition"),
    		aPropos = new JMenu("À propos");
    private JMenuItem 
    				arreter = new JMenuItem("enregistrer sous"),
    				quitter = new JMenuItem("Quitter"),
    				aProposItem2 = new JMenuItem("contact as"),
    				aProposItem = new JMenuItem("?");
    
    
    
    public Fenetre(){
    	 
    	 
            this.setTitle("Generateur-ontology");
            this.setSize(300, 300);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setLocationRelativeTo(null);
           
           
            container.setBackground(Color.white);
            
            
            container.setLayout(new BorderLayout());
           
            container.add(pan, BorderLayout.CENTER);
            
            
            this.setContentPane(container);
           
            this.initMenu();
            
            
            this.setVisible(true);            
                        
    }
	
    private void initMenu(){
    	
    	try{
   	     UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
   	     }
   	     catch (Exception e)
   	     {
   	     }
   	    fichier.add(ouvrir);
    	ouvrir.addActionListener(new Ouvrir());
    	
    	arreter.setEnabled(false);
    	fichier.add(arreter);
    	
    	fichier.addSeparator();
        //Pour quitter l'application
    	quitter.addActionListener(new ActionListener(){
    		public void actionPerformed(ActionEvent event){
    			System.exit(0);
    		}
    	});
    	fichier.add(quitter);
    	
    	//menu à propos	
    	aPropos.add(aProposItem2);
    	aPropos.add(aProposItem);
    
    	
    	//Ajout des menus dans la barre de menus
    	menuBar.add(fichier);
    	menuBar.add(edition);
    	menuBar.add(aPropos);
    	
    	//Ajout de la barre de menus sur la fenêtre
    	this.setJMenuBar(menuBar);
    }
   
	
	
	
	 class Ouvrir implements ActionListener{
	    
	     public void actionPerformed(ActionEvent evt) {
	    	 
	     JFileChooser file = new JFileChooser();
	     file.setApproveButtonText("ouvrir"); 
	     file.showOpenDialog(null); 
	   
	
	     }

		
		
	     } 
}

NB: bien sur il y on a des importes inutiles ds cet morceau de code ;)
Édité le 07/10/2008 à 22:15:17 par nanona

Image utilisateur
 

Retour au forum "Langage Java" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 421 Zéros connectés | Requêtes SQL 7 requêtes | Temps de génération de la page : Total (SQL) 0.048s (0.0292s)