[java]écrire prg main

domxaline -  
 domxaline -
Bonjour,
j'ai besoin vos aide pour écrire main prg,aidez moi svp
import java.awt.Color;
import java.awt.Image;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.File;
import java.io.IOException;
import java.awt.Graphics2D;
import javax.swing.JButton;
import javax.imageio.ImageIO;

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("fondBouton.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);  
 }
 public static void main(String[]args)
 {
  Bouton x1=new Bouton();
 }
}

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
//import java.awt.BorderLayout;
import javax.swing.JButton; 
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Fenetre extends JFrame
{
	  private Panneau pan=new Panneau();	
	  private JButton bouton=new JButton("mon bouton");
	  private JPanel container=new JPanel();
 
	  public Fenetre()
      {
        this.setTitle("Animation");
        this.setSize(300,300);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
 
        container.setBackground(Color.white);
        container.setLayout(new BorderLayout());
        container.add(pan,BorderLayout.CENTER);
        container.add(bouton,BorderLayout.SOUTH);
        this.setContentPane(container);
        this.setVisible(true);
       go ( ); 
     }
 
     private void go ( )
     {
 
          int x=pan.getPosX(),y=pan.getPosY();
          boolean backX=false;
          boolean backY=false;
 
          while(true)
          {    
	    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(3);
	    }
	    catch(InterruptedException e)
	    {
	         e.printStackTrace();
	    }
      }
     }
 
}


3 réponses

  1. domxaline
     
    j'ai écrit ces 3 prg,qui sont nommée Bouton,Fenetre et Panneau;
    en les exécutant, apparait une frame dans le quel un bouton bleu nommée
    "Mon Bouton",ce bouton est rempli entier de mon frame,et je trouve pas mon rond dans le frame,cmt je peux le ramener mon rond? et je veux mon bouton s'affiche en bas de mon frame,aidez moi svp

    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    //import java.awt.BorderLayout;
    import javax.swing.JButton; 
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class Fenetre extends JFrame
    {
       private Panneau pan=new Panneau();	
       private JButton bouton=new JButton("mon bouton");
       private JPanel container=new JPanel();
     
       public Fenetre()
       {
          this.setTitle("Animation");
          this.setSize(300,300);
          this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          this.setLocationRelativeTo(null);
          container.setBackground(Color.white);
          container.setLayout(new BorderLayout());
          container.add(pan,BorderLayout.CENTER);
          container.add(bouton,BorderLayout.SOUTH);
          this.setContentPane(container);
          this.setVisible(true);
          go ( ); 
       }
         private void go ( )
    	     {	       
    	         int x=pan.getPosX(),y=pan.getPosY();	     
    	         boolean backX=false;	     
    	         boolean backY=false;	      
    	          while(true)
    	          {	              
    		   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(3);
    		    }
    		    catch(InterruptedException e)
    		    {
    		         e.printStackTrace();
    		    }
    	          }
    	     }
    }
     
    import java.awt.BasicStroke;
    	import java.awt.Color;
    	import java.awt.Graphics;
    	import javax.swing.JFrame;
    	import javax.swing.JPanel;
    public class Panneau extends JPanel
    {
    	   private int posX=-50;
    	   private int posY=-50;
     
    	   public void paintComponent (Graphics g)
    	   { 	      
    	     g.setColor (Color.white);		  
    	     g.fillRect (0,0,this.getWidth ( ),this.getHeight ());			     
    	     g.setColor (Color.red);		
    	     g.fillOval (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;
    	   }
    	}
     
    import javax.swing.JFrame;
    import javax.swing.JButton;
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.FontMetrics;
    import java.awt.GradientPaint;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    public class Bouton extends JButton 
    {
      private String name;
      private Bouton(String str)
      {
    	  super(str);
    	  this.name=str;
      }
      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.setColor(Color.white);
    	  g2d.drawString(this.name, this.getWidth()/2-(this.getWidth()/2/4),(this.getHeight()/2)+5);
      }
     
    public static void main(String[]args)
    {
      JFrame frame=new JFrame();
      frame.getContentPane().add(new Bouton("Mon Bouton"));
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(200,200);
      frame.setVisible(true);
    }
    }
    
    0
  2. domxaline
     
    actuellement j'ai image comme ça
    http://imagesia.com/pic1_a3zn

    mais, je veux image comme ça
    http://imagesia.com/pic2_a3zt
    "Mon Bouton" en couleur bleu Gradient

    svp
    0
  3. domxaline
     
    il n'y a personne pour m'aider?
    0