Bonjour,
J'ai écrit une interface graphique dans laquelle je souhaite utiliser une méthode. Le mot clé static (ainsi que public (je n'en ai pas besoin)) pose un problème. Quand je met le mot clé static, le compilateur dit :
Syntax error on token(s), misplaced construct(s). Malheureusement, j'ai besoin de ce mot clé vu que, lors de l'utilisation de la méthode, il me dit également d'utiliser static...
J'ai donc cherché sans mon livre ce que veut dire static : indique que la méthode est une méthode de classe. Mais je ne comprend pas ceci, pouvez-vous m'aider svp?
pour mieux que vous voyez comment se placent les erreurs de la classe Chemin, je joins ci-dessous les screens : avec le mot clé static, et sans.
voici Maintenant mon code.
Comme je ne savais pas si le problème était lié à la méthode elle-même, ou au reste du code, j'ai créé un projet avec méthode pour "m'entraîner".
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 package ch.mathias.truelle; public class Chemin { public static int lequelSeraPris = 0; public static String [] prochaine; public static String [] favoriti; favoriti = new String [] {"comment m'appelle-on?"}; prochaine = new String [] {"Nooon. regarde. M.A.T.H.I.A.S!"}; static void rep() { // méthode qui bloque TruelleGame.lab.setText(prochaine[lequelSeraPris]); lequelSeraPris++; } static void quest() { // et celle-ci également TruelleGame.lab.setText(favoriti[lequelSeraPris]); } } package ch.mathias.truelle; import java.awt.Color; import java.awt.Dimension; import java.awt.BorderLayout; import java.awt.event.*; import javax.swing.*; public class TruelleGame { public static JLabel lab = new JLabel(); public static void main(String[] args) { JButton btnOui = new JButton("Oui"); JButton btnNon = new JButton("Non"); JButton btnOk = new JButton("Ok"); JTextField enter = new JTextField(); JPanel starter = new JPanel(); JPanel questions = new JPanel(); JPanel basBtn = new JPanel(); JFrame frame = new JFrame("Booon."); frame.setVisible(true); frame.setLocationRelativeTo(null); frame.setSize(200, 70); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(starter); JButton depart = new JButton("C'est parti, cliquez"); depart.setBackground(Color.red); depart.setVisible(true); starter.add(depart, BorderLayout.CENTER); basBtn.add(btnOui); basBtn.add(btnNon); basBtn.add(btnOk); btnOui.setVisible(false); btnNon.setVisible(false); lab.setVisible(true); enter.setVisible(true); questions.add(basBtn, BorderLayout.SOUTH); questions.add(enter, BorderLayout.CENTER); questions.add(lab, BorderLayout.NORTH); enter.setPreferredSize(new Dimension (100,20)); depart.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { frame.setTitle("Vous avez 10 secondes pour répondre."); frame.setSize(400,200); frame.add(questions); questions.setVisible(true); starter.setVisible(false); Chemin.quest(); } }); } }
Le plus bizarre, c'est que ça fonctionne... alors même que j'utilise le mot clé static!
Partager