Swing mettre une image en fond d'écran

zoya23 Messages postés 14 Date d'inscription mardi 22 juillet 2008 Statut Membre Dernière intervention 5 novembre 2009 - 5 nov. 2009 à 11:50
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 5 nov. 2009 à 15:08
Bonjour tout le monde!

je suis entrain de créer une interface graphique en utilisant l'api swing en java sous netbeans.
mon problème est comment mettre une image comme fond d'écran dans un jFrame?

Merci d'avance.
A voir également:

4 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
5 nov. 2009 à 15:08
Salut,

sinon limite tu prends un bon vieux JLabel que tu places en ContentPane de la fenêtre, tu lui colles l'image et rulez...

// initialisation de la fenêtre
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(3);
frame.setSize(800, 600);
frame.setLocationRelativeTo(null);

// préparation du label avec l'image
ImageIcon icon = null;
try {
  icon = new ImageIcon(ImageIO.read(new File("img.png")));
} catch (IOException e) {
  // pb de chargement de l'image
  e.printStackTrace();
}
// version sans le stretch de l'image
//JLabel contentPane = new JLabel(icon);
// version avec stretch de l'image
JLabel contentPane = new JLabel(icon) {
  @Override
  public void paintComponent(Graphics g) {
    super.paintComponent(g);
    if(getIcon() != null)
      g.drawImage(
          ((ImageIcon)getIcon()).getImage(), 0, 0, 
          getWidth(), getHeight(), null);
  }
};
// ajoute le conteneur
frame.setContentPane(contentPane);
// modification du layout
frame.getContentPane().setLayout(new FlowLayout(FlowLayout.LEFT));
// ajout de composants
frame.getContentPane().add(new JButton("Plop"));
// affichage de la fenêtre
frame.setVisible(true);






------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
1
Rejoignez-nous