Arriere plan
Fermé
matt2421
Messages postés
16
Date d'inscription
jeudi 19 mai 2016
Statut
Membre
Dernière intervention
28 novembre 2016
-
Modifié par KX le 8/06/2016 à 20:43
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 9 juin 2016 à 19:59
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 9 juin 2016 à 19:59
A voir également:
- Arriere plan
- Arrière plan - Guide
- Logiciel plan maison - Guide
- Plan 3d gratuit - Télécharger - Architecture & Déco
- Arrière-plan appel vidéo whatsapp - Guide
- Service de transfert intelligent en arrière-plan ✓ - Forum Windows 10
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
8 juin 2016 à 21:02
8 juin 2016 à 21:02
(Re)Bonjour,
1) Il n'est pas nécessaire que surface soit un JPanel, tu peux te contenter d'un Component qui est plus haut dans la hierarchie des classes.
2) drawImage prends en dernier paramètre un ImageObserver, en effet l'image peut prendre du temps à charger, donc plutôt qu'attendre qu'elle soit prête on indique qui il faudra rappeler lorsqu'elle le sera, sinon elle ne s'affichera pas automatiquement.
3) pour le chargement de l'image je te conseilles d'utiliser Toolkit
4) le pack() doit être fait avant le setVisible(true) sinon la fenêtre peut clignoter car elle va être affichée avec sa taille par défaut avant d'être redimensionnée.
1) Il n'est pas nécessaire que surface soit un JPanel, tu peux te contenter d'un Component qui est plus haut dans la hierarchie des classes.
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
2) drawImage prends en dernier paramètre un ImageObserver, en effet l'image peut prendre du temps à charger, donc plutôt qu'attendre qu'elle soit prête on indique qui il faudra rappeler lorsqu'elle le sera, sinon elle ne s'affichera pas automatiquement.
3) pour le chargement de l'image je te conseilles d'utiliser Toolkit
4) le pack() doit être fait avant le setVisible(true) sinon la fenêtre peut clignoter car elle va être affichée avec sa taille par défaut avant d'être redimensionnée.
image = Toolkit.getDefaultToolkit().getImage(
getClass().getResource("C:/Users/Ulrich/Desktop/Oc.jpeg"));
surface = new Container() {
@Override
public void paint(Graphics g) {
g.drawImage(image, 0, 0, this);
}
});
9 juin 2016 à 06:55
9 juin 2016 à 09:07
private static void show(final Image image) { final JFrame frame = new JFrame(); frame.setSize(250, 300); frame.setContentPane(new Container() { private static final long serialVersionUID = 1; public void paint(Graphics g) { g.drawImage(image, 0, 0, frame); } }); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }9 juin 2016 à 19:14
9 juin 2016 à 19:28
9 juin 2016 à 19:30