Bug ActionListener (Interface graphique java)
Epic_sans.fr
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Mon ide (eclipse) marque faux le nom de ma classe (Action), je ne sais pas d'où cela peut bien venir, la console m'affiche:
mon code:
(oui, c'est une sorte de plagiat de cookie clicker que j'ai fait pour m'entrainer , mdr)
Excusez moi s'il y a des impuretées dans mon code, j'ai essayer de regler ça à la vas vite donc.. je n'ai pas pu faire un code très propre. Merci de votre comprehension.
Bonne journée à vous.
Mon ide (eclipse) marque faux le nom de ma classe (Action), je ne sais pas d'où cela peut bien venir, la console m'affiche:
Exception in thread "main" java.lang.Error: Unresolved compilation problems: Action cannot be resolved to a type Action cannot be resolved to a type Action cannot be resolved to a type Action cannot be resolved to a type Cannot instantiate the type ActionListener at cookie.CookieMain.createIG(CookieMain.java:56) at cookie.CookieMain.<init>(CookieMain.java:26) at cookie.CookieMain.main(CookieMain.java:22)
mon code:
package cookie; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Timer; import java.util.TimerTask; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class CookieMain { static int cookiesnb; static boolean starttimer; static JLabel labelcompteur = new JLabel("Cookies: "+cookiesnb); public static void main(String[] args) { new CookieMain(); } public CookieMain(){ createIG(); } public void createIG(){ JFrame window = new JFrame(); window.setTitle("Epic Clicker"); window.setSize(900, 700); window.setLocationRelativeTo(null); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.getContentPane().setBackground(Color.DARK_GRAY);; window.setLayout(null); JPanel cookiePanel = new JPanel(); cookiePanel.setBounds(100,220,150,150); cookiePanel.setBackground(Color.DARK_GRAY); window.add(cookiePanel); JPanel autopanel = new JPanel(); autopanel.setBounds(550, 200, 300, 400); autopanel.setBackground(Color.blue); autopanel.setLayout(new BorderLayout(1,1)); window.add(autopanel); ImageIcon epicimg = new ImageIcon(getClass().getClassLoader().getResource("logo.png")); JButton epicButton = new JButton("."); epicButton.setBackground(Color.DARK_GRAY); epicButton.setBorder(null); epicButton.setIcon(epicimg); epicButton.setBounds(100,220,150,150); cookiePanel.add(epicButton); epicButton.addActionListener(new Action()); JButton normalClicker = new JButton("Normal Clicker"); normalClicker.addActionListener(new Action()); autopanel.add(normalClicker); JButton advancedClicker = new JButton("Advanced Clicker"); advancedClicker.addActionListener(new Action()); autopanel.add(advancedClicker); JButton momClicker = new JButton("Mom Clicker"); autopanel.add(momClicker); momClicker.addActionListener(new Action()); JButton dadClicker = new JButton("Dad Clicker"); autopanel.add(dadClicker); dadClicker.addActionListener(new Action()); JPanel panelcompteur = new JPanel(); panelcompteur.setBounds(425,25,200,100); panelcompteur.setLayout(new BorderLayout(1,2)); panelcompteur.setBackground(Color.DARK_GRAY); window.add(panelcompteur); labelcompteur.setFont(new Font("Comic Sans MS", 3, 19)); labelcompteur.setForeground(Color.white); panelcompteur.add(labelcompteur); window.setVisible(true); } } static class Action implements ActionListener(){ public void actionPerformed(ActionEvent e){ if(e.getActionCommand().contains(".")) { System.out.println("oui "+cookiesnb); cookiesnb++; labelcompteur.setText("Cookies: "+cookiesnb); } if(e.getActionCommand().contains("Normal Clicker")) { } } }
(oui, c'est une sorte de plagiat de cookie clicker que j'ai fait pour m'entrainer , mdr)
Excusez moi s'il y a des impuretées dans mon code, j'ai essayer de regler ça à la vas vite donc.. je n'ai pas pu faire un code très propre. Merci de votre comprehension.
Bonne journée à vous.
Configuration: Linux / Firefox 79.0
A voir également:
- Bug ActionListener (Interface graphique java)
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Changer carte graphique - Guide
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
3 réponses
Bonjour,
Je n'ai pas de PC pour tester, donc il y a peut être d'autres erreurs, mais ligne 90 tu as écrit
Je n'ai pas de PC pour tester, donc il y a peut être d'autres erreurs, mais ligne 90 tu as écrit
implements ActionListener(){mais les parenthèses ne devraient pas être là il faut écrire
implements ActionListener {
Merci, mais cela ne fonctionne toujours pas. Le nom de la classe est toujours souligné en rouge et, les variables sont soulignées en rouge.. pourtant je les ai mises en statique mais rien ne vas. mais je pense que c'est en réglant le problème de la classe qu'elles vont être détecter normalement. nouvelles erreurs:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Illegal modifier for the class Action; only public, abstract & final are permitted
cookiesnb cannot be resolved to a variable
cookiesnb cannot be resolved to a variable
labelcompteur cannot be resolved
cookiesnb cannot be resolved to a variable
at cookie.Action.<init>(CookieMain.java:90)
at cookie.CookieMain.createIG(CookieMain.java:56)
at cookie.CookieMain.<init>(CookieMain.java:26)
at cookie.CookieMain.main(CookieMain.java:22)
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Illegal modifier for the class Action; only public, abstract & final are permitted
cookiesnb cannot be resolved to a variable
cookiesnb cannot be resolved to a variable
labelcompteur cannot be resolved
cookiesnb cannot be resolved to a variable
at cookie.Action.<init>(CookieMain.java:90)
at cookie.CookieMain.createIG(CookieMain.java:56)
at cookie.CookieMain.<init>(CookieMain.java:26)
at cookie.CookieMain.main(CookieMain.java:22)
Merci mec, tu as raison. excuse moi, j'ai du mal avec le vocabulaire de codage.. Et je savais pas que cela était possible de déclarer une classe dans une classe ! merci pour cette information ! :D (Sinon, aurais-tu des sources pour apprendre le "vocabulaire de codage" en video stp ? car j'ai du mal à m'exprimer sur ce que je fais..)
Chaque langage a son propre vocabulaire. Il y a d'ailleurs certaines notions qui peuvent être appelées de la même manière dans deux langages différents mais qui ne signifient pas exactement la même chose pour autant.
Des vidéos tu en trouveras plein sur YouTube, y a juste à chercher :
https://www.youtube.com/results?search_query=tutoriel+java
Même si le mieux pour apprendre, c'est d'expérimenter et un tutoriel texte où tu pourras copier-coller du code sera bien plus pratique qu'une vidéo.
Tu peux regarder ce tutoriel par exemple : https://www.w3schools.com/java/
Chaque paragraphe aborde une notion, ce qui en fait un très bon "dictionnaire" pour le vocabulaire et sa définition.
Par exemple, le chapitre sur les classes internes explique comment faire une classe dans une autre.
Les différents codes proposés permettent notamment d'expérimenter la différence entre les classes internes static et les classes internes non static.
Des vidéos tu en trouveras plein sur YouTube, y a juste à chercher :
https://www.youtube.com/results?search_query=tutoriel+java
Même si le mieux pour apprendre, c'est d'expérimenter et un tutoriel texte où tu pourras copier-coller du code sera bien plus pratique qu'une vidéo.
Tu peux regarder ce tutoriel par exemple : https://www.w3schools.com/java/
Chaque paragraphe aborde une notion, ce qui en fait un très bon "dictionnaire" pour le vocabulaire et sa définition.
Par exemple, le chapitre sur les classes internes explique comment faire une classe dans une autre.
Les différents codes proposés permettent notamment d'expérimenter la différence entre les classes internes static et les classes internes non static.