Image dans jFrame

nesrine18 Messages postés 29 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 15 avril 2010 - 22 mars 2010 à 11:13
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 22 mars 2010 à 12:23
bonjour,
je veux mettre une image comme fond de mon jFrame,j'ai le code suivant,mais je veux que l'image ne couvre que la moitiée de mon jFrame..que dois-je changer pour l'ajuster comme je désire?
merci pour l'aide.

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class ImageTest {

public static void main(String[] args) {
ImagePanel panel = new ImagePanel(new ImageIcon("images/background.png").getImage());

JFrame frame = new JFrame();
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}

class ImagePanel extends JPanel {

private Image img;

public ImagePanel(String img) {
this(new ImageIcon(img).getImage());
}

public ImagePanel(Image img) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
}

public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}

}

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
22 mars 2010 à 11:49
Salut,

Faut que tu modifies ceci :
public void paintComponent(Graphics g) { 
g.drawImage(img, 0, 0, null); 
} 


Regarde les paramètres de la classe Graphics2D et nottament le .
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
nesrine18 Messages postés 29 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 15 avril 2010
22 mars 2010 à 12:01
j'ai essayer de le faire mais ça change pas
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
22 mars 2010 à 12:08
Salut,

Qu'est-ce que tu as fais au juste ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
22 mars 2010 à 12:23
Salut:

public class BackgroundPanel extends JPanel {

private static final long serialVersionUID = -671958345202496116L;

private Image image = null;

public BackgroundPanel(String filename) {
if (filename == null) {
throw new NullPointerException();
}
setOpaque(true);

MediaTracker mediaTracker = new MediaTracker(this);
image = getToolkit().getImage(filename);
mediaTracker.addImage(image, 0);
try {
mediaTracker.waitForAll();
} catch(InterruptedException ie) {
ie.printStackTrace();
image = null;
}
}

@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (image != null) {
g.drawImage(image, 0, 0, null);
}
}
}


public class MyFrame extends JFrame {
       public MyFrame() {
                // ...
                getContentPane().add(new BackgroundPanel("image.jpg"));
                // ...
       }
}
0