bonsoir
j'ai une interface graphique (fenêtre) et un bouton dedans
je cherche un code simple qui donne à mon bouton la possibilité d'afficher une boite de dialogue par simple clic sur ce bouton
merci à vous








bonsoir
j'ai une interface graphique (fenêtre) et un bouton dedans
je cherche un code simple qui donne à mon bouton la possibilité d'afficher une boite de dialogue par simple clic sur ce bouton
merci à vous
salut,
utilises les méthodes la classe JOptionPane ( showConfirmDialog, showInputDialog, showMessageDialog )
jette un oeil ici : http://java.sun.com/docs/books/tutor...ts/dialog.html








voici mon code:
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
73
74
75
76
77
78
79
80 public class Fenetre extends JFrame implements ActionListener{ /** * */ private static final long serialVersionUID = 1L; /** * */ public Fenetre() { super(); build(); } public void build() { setTitle("Atelier"); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setContentPane(buildContentPane()); } public JPanel buildContentPane() { /*panneau qui contient les boutons*/ JPanel panel1 = new JPanel(); panel1.setLayout(new GridLayout(18 ,18,18,18 )); panel1.setBackground(Color.white); panel1.applyComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT); JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); JButton bouton1 = new JButton("ouvrir dialogue"); panel1.add(bouton1); bouton1.addActionListener(this); panel.add("West",panel1); return (panel); } public void actionPerformed(ActionEvent e){ JButton bouton1 = (JButton)e.getSource(); String src_text = bouton1.getText(); JOptionPane.showMessageDialog(null, "Vous avez appuyé sur le bouton " + src_text); } public static void main(String[] args){ Fenetre fenetre = new Fenetre() ; fenetre.setVisible(true); } }
tout est dans l'ordre, mais Eclipse me dit que je dois créer une classe pour "JOptionPane" qui reste soulignée en rouge.
j'arrive pas à comprendre d'ou vient le problème
tu as fais l'import nécessaire ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part import javax.swing.JOptionPane;
Pense à mettre la balise code.
As tu fait les import?








maintenant que j'ai fait l'import , l'affaire est réglée, mais le programme me demande de créer un field pour getText qui est souligné dans cette ligne en rouge:
String src_text = bouton1.getText();
c'est pas getText(), c'est getActionCommand() qu'il faut utiliser








oui merci
finalement voici le code corrigé qui permet d'afficher,au clic du bouton, une boite de saisie(tel que je le veux):
public void actionPerformed(ActionEvent e){
if
(e.getActionCommand().equals("ouvrir dialogue"))
JOptionPane.showInputDialog(null, "Veuillez saisir votre identité !", "Identification", JOptionPane.QUESTION_MESSAGE);
}








merci pour vos réponses
ça m'a beaucoup aidé
mais dans ton code, tu ne récupères pas la chaine de caractère saisie !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void actionPerformed(ActionEvent e){ if (e.getActionCommand().equals("ouvrir dialogue")) { String identite = JOptionPane.showInputDialog(null, "Veuillez saisir votre identité !", "Identification", JOptionPane.QUESTION_MESSAGE); //code du traitement de l'identité } }








j'ai pas compris ce que tu veux dire
dans ton code, tu mettaisce qui fait que l'utilisateur saisis son identité, mais comment tu sauras ce qu'il a saisis??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void actionPerformed(ActionEvent e){ if (e.getActionCommand().equals("ouvrir dialogue")) JOptionPane.showInputDialog(null, "Veuillez saisir votre identité !", "Identification", JOptionPane.QUESTION_MESSAGE); }








je travaille pour le moment sur l'interface graphique
pour récupérer le mot saisi par l'utilisateur , il me faut une base de données, ce que je laisse pour plus tard
mais pour le moment, j'ai un autre probleme:
mon code de la méthode ActionPerformed n'est appliquable que sur des boutons dont le contenu est une chaine de caracteres(ici "ouvrir dialogue")
je cherche comment le modifier pour que ça fonctionne sur un bouton dont le contenu est une image déclaré comme ceci:
JButton folder = new JButton(new ImageIcon("C:\\Documents and Settings\\Naira\\workspace\\calculatrice\\ressources\\folder.png"));








j'ai essayé avec ceci mais ça ne marche pas:
public void actionPerformed(ActionEvent e){
if
(e.getActionCommand().equals("C:\\Documents and Settings\\Naira\\workspace\\calculatrice\\ressources\\folder.png"));
JOptionPane.showInputDialog(null, "Veuillez saisir votre identité !", "Identification", JOptionPane.QUESTION_MESSAGE);
}
je crois que je dois modifier le equals avec autre chose, mais je ne sais pas par quoi
tu pourrais toi même spécifier l'actionCommand grâce à la méthode setActionCommand(String actionCommand) de JButton
donc, dans ton exp,
et puis dans la méthode actionPerformed, tu ajoutes le test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 JButton folder = new JButton(new ImageIcon("...")); folder.setActionCommand("folder");
tu remplaces "folder" par l'identificateur que tu veux,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (e.getActionCommand().equals("folder")) {...}








merci bien
ça m'a beaucoup aidé
je crois que mon problème est que je ne manipule pas assez bien les bases du langage(je suis débutante) et j'ai commencé avec les interfaces graphiques
si tu connais un cours qui peut m'aider, merci de me le dire
salut
voilà quelques liens
http://java.developpez.com/cours/
http://baptiste-wicht.developpez.com...wing/debutant/
http://jmdoudoux.developpez.com/cour...wing.php#swing
http://zetcode.com/tutorials/javaswingtutorial/ ( anglais )
http://java.sun.com/docs/books/tutor...nts/index.html ( anglais, tutorial de sun )








merci bien
Partager