Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tutoriel : couleur des boutons

    19 octobre 2008 à 22:54:02

    Bonjour à tous,
    Je me suis lancé début de semaine dans l'apprentissage du Java et jusqu'à aujourd'hui, pas de problème majeur. Mais je viens d'arriver aux boutons et plus particulièrement aux boutons auxquels on attribue une couleur. Ce qui est bizarre, c'est que je copie/colle le code de cysboy dans Eclipse et que ça ne fonctionne pas... J'ai peut-être fait une erreur dans le copié/collé mais je ne vois vraiment pas. Enfin, trêve de blabla, voici le code :

    Ma classe sdz :
    public class sdz {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Fenetre fenetre = new Fenetre() ;
    
    	}
    
    }
    

    Ma classe fenêtre :
    import java.awt.BorderLayout;
    
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    
    
    
    
    public class Fenetre extends JFrame {
    	
    	private Panneau pan = new Panneau() ;
    	private JButton bouton = new JButton("Mon premier bouton") ;
    	public Fenetre()
    	{
    		this.setTitle("Animation") ;
    		this.setSize(500,500) ;
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setLocationRelativeTo(null) ;
    		this.setLayout(new BorderLayout());
    		this.getContentPane().add(pan , BorderLayout.CENTER) ;
    		this.getContentPane().add(bouton , BorderLayout.SOUTH) ;
    		this.setVisible(true) ;
    		go();
    		
    
    	}
    	public void go() 
    	{
    		int x = pan.getPosX(), y = pan.getPosY();
    		boolean backX = false, backY = false ;
    		for(;;)
    		{
    			if(x < 1)
    			{
    				backX = false ;
    			}
    			if(x == pan.getWidth() - 50)
    			{
    				backX = true ;
    			}
    			if(y < 1)
    			{
    				backY = false ;
    			}
    			if(y == pan.getHeight() - 50)
    			{
    				backY = true ;
    			}
    			if(!backX)
    			{
    				pan.setPosX(x++) ;
    			}
    			else
    			{
    				pan.setPosX(x--) ;
    			}
    			if(!backY)
    			{
    				pan.setPosY(y++) ;
    			}
    			else
    			{
    				pan.setPosY(y--) ;
    			}
    			
    			pan.repaint() ;
    			try 
    			{
                    Thread.sleep(2);
                } 
    			catch (InterruptedException e) 
    			{
                    // TODO Auto-generated catch block
                    e.printStackTrace();
            }
    
    		}
    	}
    
    }
    

    Ma classe Panneau (même si l'erreur ne devrait pas venir de là) :
    import java.awt.Color;
    import java.awt.Graphics;
    
    
    import javax.swing.JPanel;
    
    
    public class Panneau extends JPanel {
    	
    	int posX = -50 ;
    	int posY = -50 ;
    	
    	public void paintComponent(Graphics g)
    	{
    		g.setColor(Color.WHITE) ;
    		g.fillRect(0, 0, this.getWidth(), this.getHeight()) ;
    		g.setColor(Color.BLUE); 	
    		g.fillRect(posX, posY, 50, 50) ;
    	}
    	
    	public int getPosX()
    	{
    		return posX ;
    	}
    	public void setPosX(int posX)
    	{
    		this.posX = posX ;
    	}
    	public int getPosY()
    	{
    		return posY ;
    	}
    	public void setPosY(int posY)
    	{
    		this.posY = posY ;
    	}
    
    }
    

    Ma classe Bouton :
    import java.awt.Color;
    import java.awt.GradientPaint;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.Image;
    import java.io.File;
    import java.io.IOException;
     
    import javax.imageio.ImageIO;
    import javax.swing.JButton;
     
     
    public class Bouton extends JButton{
     
             private String name;
         private Image img;
             
         public Bouton(String str){
                 super(str);
                 this.name = str;
                 
                 try {
                         img = ImageIO.read(new File("image.png"));
                    } catch (IOException e) {
                            e.printStackTrace();
                    }
                            
     
         }
        
         public void paintComponent(Graphics g){
                     
                 Graphics2D g2d = (Graphics2D)g;
                
                 GradientPaint gp = new GradientPaint(0, 0, Color.blue, 0, 20, Color.cyan, true);
                 g2d.setPaint(gp);
                // g2d.fillRect(0, 0, this.getWidth(), this.getHeight());
                g2d.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
                 
                 g2d.setColor(Color.black);
                 g2d.drawString(this.name, this.getWidth() / 2 - (this.getWidth() / 2 /4), (this.getHeight() / 2) + 5);
                
         }
     
    }
    
    • Partager sur Facebook
    • Partager sur Twitter
      19 octobre 2008 à 23:03:55

      Citation : MIGUEL1991

      private JButton bouton = new JButton("Mon premier bouton") ;
      

      Pas de JButton Mais
      Bouton b=new Bouton("Mon Bonton");
      

      • Partager sur Facebook
      • Partager sur Twitter
        19 octobre 2008 à 23:21:24

        Effectivement, il y a un changement mais pas celui escompté ^^' . Avant, mon bouton était bleu normal (comme un bouton normal) et maintenant, il est tout blanc =/ .
        • Partager sur Facebook
        • Partager sur Twitter
          20 octobre 2008 à 9:08:43

          Ou se trouvent tes images ? Parce que là, je dirai que tes fichiers ne sont pas au bon endroit...
          • Partager sur Facebook
          • Partager sur Twitter
            20 octobre 2008 à 12:24:01

            J'ai placé mon image à tous les étages : Dans mon dossier C:\Documents and Settings\Miguel , C:\Documents and Settings\Miguel\workspace , C:\Documents and Settings\Miguel\workspace\Miguel , C:\Documents and Settings\Miguel\workspace\Miguel\src en l'appelant bien image.png.
            • Partager sur Facebook
            • Partager sur Twitter
              20 octobre 2008 à 14:10:12

              Ton boutons est donc tout blanc c'est çà ?
              Fait des System.out.println dans toutes tes instruction afin de vérifier si tu rentres bien dedans et où ça coince...
              • Partager sur Facebook
              • Partager sur Twitter

              Tutoriel : couleur des boutons

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown