accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

ajuster une image dans un JPanel

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.java ] 

Retour : Accueil du site fr comp lang java   charte stats de ce groupe


  Sujet:   ajuster une image dans un JPanel  
 De: jmtrg_nos...@hotmail.fr (Jean-Marie)
 Groupes: fr.comp.lang.java
 Organisation: Victor
 Date: 30. Jan 2008, 17:36:58
Bonjour

j'ai récupéré un code qui permet d'afficher une image centrée ou en 
mosaïque dans un JPanel ; en fait je voudrais plutôt étirer l'image
aux dimensions du JPanel ; çà doit être tout bête mais je n'y parviens
pas

merci pour votre aide

Jean-Marie

ci-dessous le code que l'on trouve dans la FAQ :

public class JPanelImageBg extends JPanel
{
	private int mode;
	private TexturePaint texture;
	private BufferedImage bufferedImage;

	public static final int CENTRE = 0;
	public static final int TEXTURE = 1;

	public JPanelImageBg( String fileName, int mode )
	{	
		super();
		setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));

		this.mode = mode;
		this.bufferedImage = 
this.toBufferedImage(Toolkit.getDefaultToolkit().getImage(fileName));
		this.texture = new TexturePaint(bufferedImage,new Rectangle(0, 0, 
bufferedImage.getWidth(), bufferedImage.getHeight()));
	}

	public void paintComponent(Graphics g)
	{	
		super.paintComponent(g);
		switch( mode )
		{	case TEXTURE :
				Graphics2D g2d = (Graphics2D)g;
				g2d.setPaint(texture);
				g2d.fillRect(0, 0, getWidth(), getHeight() );
				break;
			case CENTRE :
				g.setColor(this.getBackground());
				g.fillRect(0,0,getWidth(), getHeight() );
			 
g.drawImage(bufferedImage,(getWidth()-bufferedImage.getWidth())/2,(getHeight()-bufferedImage.getHeight())/2,null);
				break;
			default :
				super.paintComponents(g);
		}
	}
	private BufferedImage toBufferedImage(Image image)
	{	image = new ImageIcon(image).getImage();

		BufferedImage bufferedImage = new BufferedImage( image.getWidth(null), 
image.getHeight(null), BufferedImage.TYPE_INT_RGB);
		Graphics g = bufferedImage.createGraphics();

		g.setColor(Color.white);
		g.fillRect(0, 0, image.getWidth(null),
		image.getHeight(null));
		g.drawImage(image, 0, 0, null);
		g.dispose();
		return bufferedImage;
	}

}


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)