coucou
Je souhaite afficher une jpeg dans ma fenetre par ex entre deux Jlabel.
Merci d'avnce
coucou
Je souhaite afficher une jpeg dans ma fenetre par ex entre deux Jlabel.
Merci d'avnce
Salut,
Je crois que cette adresse t'aidera :
http://java.developpez.com/faq/java/...E_fond_fenetre
dsl mais ça m'aide pas tant que ça j'ai pas avancé...
Pourtant, c'est relativement clair et efficace...
Alors si tu pouvais nous en dire un peu plus sur ce que tu comprends pas, ou nouos montrer un peu le code que tu as pour qu'on te dise ce qui ne va pas.
excusez moi je suis débutant
en faite j'i déja ma fenetre, je veux juste y ajoutez une mini photo ou dois-je caler le code pour avoir qu'une seule clsse test
Bon comme je te l'ai dit, sans vision de ton code, on va avoir assez de mal a t'aider...
Voici un bout de code que j'utilise pour faire ce que tu cherches. M'enfin je ne le crois pas plus explicite que celui de la FAQ...
et après je l'insère dans une JFrame comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Image; import javax.swing.JComponent; public class ImagePanel extends JComponent { /** Usefull for serialization */ private static final long serialVersionUID=6304086544194571091L; private Image bg; public ImagePanel(Image i) { super(); bg=i; this.setBackground(Color.WHITE); this.setPreferredSize(new Dimension(i.getWidth(this), 100)); this.setVisible(true); } public void paintComponent(Graphics g) { g.drawImage(bg,0,0,null); } }
avec myLogo une Image...
Code : Sélectionner tout - Visualiser dans une fenêtre à part this.getContentPane().add(new ImagePanel(myLogo), BorderLayout.NORTH);
J'avais pas fait gaffe à cette remarque. Quel est l'intérêt de ne faire qu'une seule classe test ? Ce n'est pas ce qui ce fait de plus simple de tout vouloir mettre dans une et une seule classe, et ensuite en tant que débutant, tu as tout intérêt à commencer directement d'apprendre à faire de l'objet proprementEnvoyé par dimitrimm972
![]()
voici mon codeet ma class test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Image; import javax.swing.JComponent; import javax.swing.*; import java.awt.event.*; import java.awt.*; import java.lang.*; import java.awt.image.*; public class police extends JFrame { private JLabel indications = new JLabel(""); private ........... private JPanel panneau = new JPanel(); public police(int positionX, int positionY,int largeur, int hauteur) {super("In"); this.getContentPane().add(new ImagePanel(bg), BorderLayout.NORTH); setBounds(positionX, positionY, largeur, hauteur); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); setResizable(true); panneau.add.......; setContentPane(panneau); show(); }}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public class policetest { public static void main(String arg[]) { police nt = new police(100, 200, 420, 425); } }
mon probleme c'est que je vois pas ou mettre le nom de la photo?
Es ce que je remplace myLogo par "mon image.jpg"Envoyé par leminipouce
Et je suppose que c'est dans panneau que tu voudrais afficher ton Image.
Alors tu crées une image, tu la passe en paramètre du contructeur que je t'ai donné, et tu remplaces ta ligne de déclaration de panneau par celle-ciPour créer une image, il y a la FAQ, ou des post sur ce forum. la par exemple...
Code : Sélectionner tout - Visualiser dans une fenêtre à part JPanel panneau = new ImagePanel(monImage);
Pour ce qui est de mettre la nom de ta photo... c'est en créant ton image que tu vas le donner !
PS : Par convention, les noms de classe commencent TOUS pas une majuscule.
PS2 : Tu peux très bien te contenter de mettre ton main dans ta classe Police, et t'affranchir de ta classe test.
Non !!! "mon image.jpg" c'est un String !Envoyé par dimitrimm972
Regardes le constructeur que j'ai déclaré dans ma classe ImagePanel. Il attend comme paramètre un objet Image.
Il faut donc que tu ajoutes à Police un attribut privé de type Image, et que tu initialise cette image avec ce que tu veux.
Puis tu passe cet objet à ton constructeur... Et je t'ai donné plusieurs liens pour voir comment créer un objet Image => regardes notament la FAQ !
Ensuite, comme tu as l'air vraiment débutant en Java (peut-être même en programmation...) je ne saurais que trop te conseiller de ne pas commencecr par l'interface graphique. Comme dans beaucoup de langage, la gestion graphique n'est pas ce qui ce fait de plus simple en Java, alors commence d'abord par des projets en ligne de commande, ça te permettra de te familiariser un peu avec le langage et d'appréhender plus facilement le mode graphique.
merci je pense avoir compris mis j'ai une erreur de compilation qui persiste
voici la lignesymbol : method ImagePanel(java.awt.Image)
location: class police.police
ImagePanel(image);
Note: E:\Documents and Settings\Dimitri\Bureau\police\src\police\police.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 /** Accès au toolkit : */ java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit(); /** lecture de l'image : */ Image image = toolkit.getImage("mapolice.jpg"); ImagePanel(image);
Alors utilises ce code...
Voilà, si tu as ton image dans le sous répertoire images, ça marchera...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(myLogo==null){ myLogo = ImageIO.read(new File("images/mon image.jpg")); }
Partager