0 d2m1 je serai 1,promis;)
 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
qu'est ce qu'il faut faire dans ce cas ?
merci !!!!!
|
 Groupe : Membres
|
 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
|
0 d2m1 je serai 1,promis;)
 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
|
tout est bô dans l' info
 Groupe : Membres
|
 Cette réponse a aidé l'auteur du sujet
Il faut que tu mettes un JMenuItem dans un JMenu :
Code : Java1
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);
|
|
0 d2m1 je serai 1,promis;)
 Groupe : Membres
|
waw très bien maintenant ca marche très bien
un grand merci pour vous deux kayzra et cysboy
voici le code final qui marche très bien un cadeau pour vous  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
|