Bonjour,
en phase d'apprentisage de JAVA
je teste un tout petit code java, mais je crois que j'ai mal compris le fonctionnement de frame et dialog

je n'arrive pas à m'en sortir.

L'idée est simple :
-->interface YES/NO
---> YES ---> quitter
---> No ---> dialogbox ---> indique juste qu'on a appuyer sur no et retour

voilà ce que j'ai fait :
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
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
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JLabel;
/*
 * imports des éléments java
 */
 
 
 
 
public class testframedialog {
	public class  testframedialog  extends Frame {
	/*
	 * juste pour tester mais semble necessaire d'appliquer un numéro de
	 * version
	 */
	  private static final long serialVersionUID = 1L;
          testframedialg() {
		  super("AWT");
		  Label msgLabel = new Label("Quit?");
		  Button yesButton = new Button("Yes");
		  Button noButton = new Button("No");
		  Panel buttonbox = new Panel();
		  buttonbox.setLayout(new FlowLayout());
		  buttonbox.add(yesButton);
		  buttonbox.add(noButton);
		  /*
			 * pannel des boutons YES/NO
			 */
		  final Panel msgbox = new Panel();
		  msgbox.setLayout(new FlowLayout());
		  msgbox.add(msgLabel); 
		  /*
			 * affiche le "quit ?"
			 */
		  add(msgbox, BorderLayout.NORTH);
		  add(buttonbox, BorderLayout.SOUTH);
		  /*
			 * gerer la disposition des labels
			 */
		  yesButton.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {
					System.exit(0);
					/*
					 * juste pour quitter proprement avec un exit 0
					 */
				}
		  });
		  noButton.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
							Dialog frame = null;
							final JDialog dialog = new JDialog(frame,"test");
							JLabel label = new JLabel("<html><p align=center>TEST<br>");
							label.setHorizontalAlignment(JLabel.CENTER);
							JButton closeButton = new JButton("Close");
							closeButton.addActionListener(new ActionListener() {
									public void actionPerformed(ActionEvent e) {
											dialog.setVisible(false);
											dialog.dispose();
											/*
											 * libere la dialog-box
											 */
									}
							});
						    /*
							 * ajoute une deuxieme boite de dialog pour retour
							 */
						    dialog.setSize(new Dimension(300, 150));
						    dialog.setLocationRelativeTo(frame);
						    dialog.setVisible(true);
					}
		  });
		    /*
			 * faire agir le bouton "no"
			 */
		  addWindowListener(new WindowAdapter() {
					public void windowClosing(WindowEvent e) {
							System.exit(0);
					}
		  });
		    /*
			 * juste pour gerer la cloture de la fenetre par la croix de
			 * l'interface graphique utilisateur
			 */
    	}
    }
}
 
 
 
/*
 * corp de programme commence ici construit et affice la frame ci dessus
 */
public void main(String[] args) {
	 testframedialog frame = new testframedialog();
	 frame.pack();
	 frame.setVisible(true);
}
et la compilation javac :
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
 
test_frame$ javac testframedialog.java
testframedialog.java:32: invalid method declaration; return type required
          testframedialg() {
          ^
testframedialog.java:99: illegal start of type
    	});
    	 ^
testframedialog.java:109: class, interface, or enum expected
public void main(String[] args) {
       ^
testframedialog.java:111: class, interface, or enum expected
	 frame.pack();
	 ^
testframedialog.java:112: class, interface, or enum expected
	 frame.setVisible(true);
	 ^
testframedialog.java:113: class, interface, or enum expected
}
^
6 errors
dans un premier j'ai pensé à une erreur d'indentation (par fermeture confondue entre un "}" et un "});" par exemple

Mais visiblement cela n'a rien à voir...

Merci pour votre aide, je n'ai pas trouvé mon bonheur sur les tutos...

Pour info :
je suis sous linux avec eclipse et les jdk sun