Class organisation - Jbutton constructor

My class is finished!!! But dont work -___-’

It crash :S

code:

import java.awt.Container;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;


public class DoodeVert {


	public int ClickX = 0;
	public int ClickY =0;
	public int CoorX=0;
	public int CoorY=0;
	public byte nombreDeDoodeVert=0;	
	public byte nombreDeDoodeBleu=0;
	public byte nombreDeDoodeRouge=0;
	public byte nombreDeDoodeJaune=0;
	public byte nombreEnnemis=75;
	public int nombreDeDoode=nombreDeDoodeVert+nombreDeDoodeBleu+nombreDeDoodeRouge+nombreDeDoodeJaune;
	public int doowatt=500;
	public int nourriture=500;
	public short geleeNoire=0;
	public short nombreEnnemisTues=0;
	public String pseudo;
	public Container contenu2;
	public JButton igmenu = new JButton("", new ImageIcon("DoodeImages/menu.gif"));;
	public	JLabel fond = new JLabel();
	public JComboBox choix = new JComboBox();
	public JButton doodah = new JButton("", new ImageIcon("DoodeImages/doudah.png"));
	public String Selected="rien";
	public String Selected2="rien";
	public boolean champioqp = false;
	public boolean doodahexist = false;
	public boolean btdoodah1=false;
	
	
	public JButton barre1 = new JButton("", new ImageIcon("DoodeImages/barredoode.png"));   //affichage barre doodes
	public JLabel BarreVert = new JLabel();
	public JLabel BarreBleu = new JLabel();
	public JLabel BarreRouge = new JLabel();
	public JLabel BarreJaune = new JLabel();
	
	
	public JButton BarreNourriture = new JButton("", new ImageIcon("DoodeImages/nour.png"));   //affichage barre nourriture
	public JLabel Bdoowatt = new JLabel();
	public JLabel Bnoire = new JLabel();
	public JLabel BBouffe = new JLabel();
	
	
	
	public JLabel champ1 = new JLabel(new ImageIcon("DoodeImages/champ.png"));   //affichage décor
	public JLabel champ2 = new JLabel(new ImageIcon("DoodeImages/champ.png"));
	public JLabel champ3 = new JLabel (new ImageIcon("DoodeImages/champ2.png")); 
	public JButton rive = new JButton("", new ImageIcon("DoodeImages/riviere.gif"));
	public JButton arbre = new JButton ("", new ImageIcon ("DoodeImages/arbre.gif"));
	public JLabel arbre2 = new JLabel (new ImageIcon ("DoodeImages/arbre2.gif"));
	
	
	
	public JButton DoodeVert = new JButton ("",new ImageIcon("DoodeImages/vert.gif"));  //doode vert
	public JButton DoodeVert2 = new JButton ("",new ImageIcon("DoodeImages/vert.gif"));

	
	
	
	
	public JButton CreerDoodah = new JButton ("",new ImageIcon("DoodeImages/btdd.png"));



	Image saut = Toolkit.getDefaultToolkit().createImage("DoodeImages/2 - Copie.png");
	Image normal = Toolkit.getDefaultToolkit().createImage("DoodeImages/vert.gif");



public DoodeVert(){

System.out.print("doode crée");




public void mouseReleased(MouseEvent e) {
	Object source = e.getSource();	

	if(SwingUtilities.isRightMouseButton(e)) {
		
	
		CoorX=e.getX();
	    CoorY=e.getY();
	    
	    
	
	  
	    if(source == DoodeVert & doodahexist==false){
	    		
	    		Selected2="DoodeVert";
	    	
	    }
	    
	    
	    
	    
	    
	    
	    
	  
	    
	    
	    
		
		    
		if (source == fond & Selected == "DoodeVert"){
		    DoodeVert.setBounds(CoorX-15,CoorY-25,52,65);
		    DoodeVert.setIcon(new ImageIcon(normal));
		    Selected2="rien";
		    }
		    
		    
		    
		    if (source == champ1 & Selected == "DoodeVert"){
			    
		    	DoodeVert.setBounds(1025,308,105,128);
		    	DoodeVert.setIcon(new ImageIcon(saut));
		    	Selected2="champ1";
		    	
		    }
		    
		    	 if (source == champ2 & Selected == "DoodeVert"){
					    
				    	DoodeVert.setBounds(425,555,105,128);
				    	DoodeVert.setIcon(new ImageIcon(saut));
				    	Selected2="champ2";
				   
		    	
		    }
		    	 
		    	 
		    	 if (source == champ3 & Selected == "DoodeVert"){
					    
				    	DoodeVert.setBounds(943,270,105,128);
				    	DoodeVert.setIcon(new ImageIcon(saut));
				    	Selected2="champ3";
				    	
				   
		    	
		    }
		    	 
		    	 if (source == rive & Selected == "DoodeVert"){
		    		 DoodeVert.setIcon(new ImageIcon(normal));
				    	DoodeVert.setBounds(140,CoorY,52,65);
				    	Selected2="rive";
		
		    	 
		    	 }
		    	 if (source == fond & Selected == "DoodeVert2"){
					    DoodeVert2.setBounds(CoorX-15,CoorY-25,52,65);
					    DoodeVert2.setIcon(new ImageIcon(normal));
					    Selected2="rien";
					    }
					    
					    
					    
					    if (source == champ1 & Selected == "DoodeVert2"){
						    
					    	DoodeVert2.setBounds(1025,308,105,128);
					    	DoodeVert2.setIcon(new ImageIcon(saut));
					    	Selected2="champ1";
					    	
					    }
					    
					    	 if (source == champ2 & Selected == "DoodeVert2"){
								    
							    	DoodeVert2.setBounds(425,555,105,128);
							    	DoodeVert2.setIcon(new ImageIcon(saut));
							    	Selected2="champ2";
							   
					    	
					    }
					    	 
					    	 
					    	 if (source == champ3 & Selected == "DoodeVert2"){
								    
							    	DoodeVert2.setBounds(943,270,105,128);
							    	DoodeVert2.setIcon(new ImageIcon(saut));
							    	Selected2="champ3";
							   
					    	
					    }
					    	 
					    	 if (source == rive & Selected == "DoodeVert2"){
					    		 DoodeVert2.setIcon(new ImageIcon(normal));
							    	DoodeVert2.setBounds(140,CoorY,52,65);
							    	Selected2="rive";
							    	
							    	
							    	}
					
					      }}}


public void go(){
	BarreVert.setText(""+nombreDeDoodeVert);
	BarreBleu.setText(""+nombreDeDoodeBleu);
	BarreRouge.setText(""+nombreDeDoodeRouge);
	BarreJaune.setText(""+nombreDeDoodeJaune);
	BBouffe.setText(""+nourriture);
	Bdoowatt.setText(""+doowatt);
	Bnoire.setText(""+geleeNoire);

} 


					    		class affiche implements Runnable{




					    			
					    			public void run() {      // la runnable qui permet tout !

					    				go();	

					    			}}}


	

Can you post the error?

No problem…

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems: 
	void is an invalid type for the variable mouseReleased
	Syntax error on token "(", ; expected
	Syntax error on token ")", ; expected

	at DoodeVert.<init>(DoodeVert.java:89)
	at Jeu.<init>(Jeu.java:23)
	at Menu.actionPerformed(Menu.java:85)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

you forgot the close the constructor aka public Doode()

Yes, thank you!!

But I can’t add my “}” after my "public void mouseReleased(MouseEvent e) { "

This error appear: “void is an invalid type for the variable mouseReleased”

So, I can close my class just before it, but it’s dumb because JButtons won’t react to user’s input.

I’m not sure what editor you use but if its eclipse you can select all(ctrl-a) and the fix indentation(ctrl-I) and it will greatly increase readability.
Heres your code with the above mentioned problem fixed:


import java.awt.Container;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;


public class DoodeVert {
	public int ClickX = 0;
	public int ClickY =0;
	public int CoorX=0;
	public int CoorY=0;
	public byte nombreDeDoodeVert=0;	
	public byte nombreDeDoodeBleu=0;
	public byte nombreDeDoodeRouge=0;
	public byte nombreDeDoodeJaune=0;
	public byte nombreEnnemis=75;
	public int nombreDeDoode=nombreDeDoodeVert+nombreDeDoodeBleu+nombreDeDoodeRouge+nombreDeDoodeJaune;
	public int doowatt=500;
	public int nourriture=500;
	public short geleeNoire=0;
	public short nombreEnnemisTues=0;
	public String pseudo;
	public Container contenu2;
	public JButton igmenu = new JButton("", new ImageIcon("DoodeImages/menu.gif"));;
	public	JLabel fond = new JLabel();
	public JComboBox choix = new JComboBox();
	public JButton doodah = new JButton("", new ImageIcon("DoodeImages/doudah.png"));
	public String Selected="rien";
	public String Selected2="rien";
	public boolean champioqp = false;
	public boolean doodahexist = false;
	public boolean btdoodah1=false;


	public JButton barre1 = new JButton("", new ImageIcon("DoodeImages/barredoode.png"));   //affichage barre doodes
	public JLabel BarreVert = new JLabel();
	public JLabel BarreBleu = new JLabel();
	public JLabel BarreRouge = new JLabel();
	public JLabel BarreJaune = new JLabel();
	public JButton BarreNourriture = new JButton("", new ImageIcon("DoodeImages/nour.png"));   //affichage barre nourriture
	public JLabel Bdoowatt = new JLabel();
	public JLabel Bnoire = new JLabel();
	public JLabel BBouffe = new JLabel();
	public JLabel champ1 = new JLabel(new ImageIcon("DoodeImages/champ.png"));   //affichage décor
	public JLabel champ2 = new JLabel(new ImageIcon("DoodeImages/champ.png"));
	public JLabel champ3 = new JLabel (new ImageIcon("DoodeImages/champ2.png")); 
	public JButton rive = new JButton("", new ImageIcon("DoodeImages/riviere.gif"));
	public JButton arbre = new JButton ("", new ImageIcon ("DoodeImages/arbre.gif"));
	public JLabel arbre2 = new JLabel (new ImageIcon ("DoodeImages/arbre2.gif"));
	public JButton DoodeVert = new JButton ("",new ImageIcon("DoodeImages/vert.gif"));  //doode vert
	public JButton DoodeVert2 = new JButton ("",new ImageIcon("DoodeImages/vert.gif"));
	public JButton CreerDoodah = new JButton ("",new ImageIcon("DoodeImages/btdd.png"));
	Image saut = Toolkit.getDefaultToolkit().createImage("DoodeImages/2 - Copie.png");
	Image normal = Toolkit.getDefaultToolkit().createImage("DoodeImages/vert.gif");



	public DoodeVert(){
		System.out.print("doode crée");
	}

	public void mouseReleased(MouseEvent e) {
		Object source = e.getSource();	

		if(SwingUtilities.isRightMouseButton(e)) {
			CoorX=e.getX();
			CoorY=e.getY();

			if(source == DoodeVert & doodahexist==false){
				Selected2="DoodeVert";
			}
			if (source == fond & Selected == "DoodeVert"){
				DoodeVert.setBounds(CoorX-15,CoorY-25,52,65);
				DoodeVert.setIcon(new ImageIcon(normal));
				Selected2="rien";
			}

			if (source == champ1 & Selected == "DoodeVert"){

				DoodeVert.setBounds(1025,308,105,128);
				DoodeVert.setIcon(new ImageIcon(saut));
				Selected2="champ1";

			}
			if (source == champ2 & Selected == "DoodeVert"){

				DoodeVert.setBounds(425,555,105,128);
				DoodeVert.setIcon(new ImageIcon(saut));
				Selected2="champ2";


			}
			if (source == champ3 & Selected == "DoodeVert"){

				DoodeVert.setBounds(943,270,105,128);
				DoodeVert.setIcon(new ImageIcon(saut));
				Selected2="champ3";
			}

			if (source == rive & Selected == "DoodeVert"){
				DoodeVert.setIcon(new ImageIcon(normal));
				DoodeVert.setBounds(140,CoorY,52,65);
				Selected2="rive";


			}
			if (source == fond & Selected == "DoodeVert2"){
				DoodeVert2.setBounds(CoorX-15,CoorY-25,52,65);
				DoodeVert2.setIcon(new ImageIcon(normal));
				Selected2="rien";
			}

			if (source == champ1 & Selected == "DoodeVert2"){

				DoodeVert2.setBounds(1025,308,105,128);
				DoodeVert2.setIcon(new ImageIcon(saut));
				Selected2="champ1";

			}

			if (source == champ2 & Selected == "DoodeVert2"){

				DoodeVert2.setBounds(425,555,105,128);
				DoodeVert2.setIcon(new ImageIcon(saut));
				Selected2="champ2";
			}

			if (source == champ3 & Selected == "DoodeVert2"){

				DoodeVert2.setBounds(943,270,105,128);
				DoodeVert2.setIcon(new ImageIcon(saut));
				Selected2="champ3";
			}

			if (source == rive & Selected == "DoodeVert2"){
				DoodeVert2.setIcon(new ImageIcon(normal));
				DoodeVert2.setBounds(140,CoorY,52,65);
				Selected2="rive";
			}
		}
	}


	public void go(){
		BarreVert.setText(""+nombreDeDoodeVert);
		BarreBleu.setText(""+nombreDeDoodeBleu);
		BarreRouge.setText(""+nombreDeDoodeRouge);
		BarreJaune.setText(""+nombreDeDoodeJaune);
		BBouffe.setText(""+nourriture);
		Bdoowatt.setText(""+doowatt);
		Bnoire.setText(""+geleeNoire);

	} 


	class affiche implements Runnable{
		public void run() {      // la runnable qui permet tout !
			go();	
		}
	}
}

Also note the single & is a bitwise AND and the && is a logical AND, you might want to change that.

Pffff, i’ll never solve it… :-\

Here is an exemple:

class DoodeVert:


public class DoodeVert implements MouseListener{



public int CoorX=0;
public int CoorY=0;
public Container contenu2;
public JButton DoodeVert = new JButton ("",new ImageIcon("DoodeImages/vert.gif"));



public DoodeVert(){
		System.out.print("doode crée ");
		contenu2.add(DoodeVerta);
		DoodeVerta.setBounds(15,15,650,75);
		DoodeVerta.setFocusPainted(false);
		DoodeVerta.setBorderPainted(false);                  
		DoodeVerta.setContentAreaFilled(false);
		DoodeVerta.addMouseListener(this);


public void mouseReleased(MouseEvent f) {
		Object source = f.getSource();	

		if(SwingUtilities.isRightMouseButton(f)) {
			CoorX=f.getX();
			CoorY=f.getY(); }
}
}}

class jeu:

public class Jeu extends DoodeVert implements MouseListener, ActionListener{

JFrame frame;


public Jeu (){
	
	JPanel contenu2;


	frame = new JFrame("Doode - Jeu");
	frame.setLayout(null);
	
	contenu2 = new JPanel();
			
	contenu2.addMouseListener(this);
	
	 frame.setContentPane(contenu2);





	contenu2.setLayout(null);
	Image image = Toolkit.getDefaultToolkit().createImage("DoodeImages/map5.jpg");// nouveau JLabel backgound
	fond.setIcon(new ImageIcon(image));

	
	
	DoodeVert DoodeVert = new DoodeVert();

DoodeVert DoodeVert2 = new DoodeVert();

}}

Please explain me what is wrong and what I have to fix. :’(

If you think I should have to use another library, say it to me… (but only core please =) )

Thank you…

Move one of the curly braces from the last line up to the line before mouseReleased.
A few tricks give each { a value of +1 and each } a value of -1, add together each one you come across, if you have any total besides 0 there is a problem with the number of braces. That only helps you see if there is the right amount, as there is in your example, next would be to look for places you expect to see a curly brace(like the end of functions) and make sure they are in the correct spot.