[java]écrire prg main

Fermé
domxaline - Modifié par domxaline le 24/07/2013 à 22:23
 domxaline - 25 juil. 2013 à 14:47
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();
	    }
      }
     }
 
}



A voir également:

3 réponses

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
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
il n'y a personne pour m'aider?
0