La syntaxe de la fonction setIcon dans java

Résolu/Fermé
manau1983 Messages postés 17 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 15 août 2008 - 6 mars 2008 à 21:17
manau1983 Messages postés 17 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 15 août 2008 - 18 mars 2008 à 22:03
Bonjour,
j'ai un jLabel sur lequel est placé un label je veux changer cette icone avec une autre.j'ai voulu utiliser la fonction setIcon() mais
jLabel1.setIcon(new Icon("vanne1.gif" ));
new Icon () me renvoie une erreur.
A voir également:

6 réponses

Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 125
6 mars 2008 à 21:30
Bonjour,

Icon est une interface.

Javadoc javax.swing.Icon

M.
1
manau1983 Messages postés 17 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 15 août 2008
8 mars 2008 à 13:50
merci ,mais tu ne connait pas une fonction qui permet de disposer une image .gif sur un label en java (avec NetBeans)
sinon
paintIcon(Component c ,graphics a,int x,int y) a tu une idée sur elle
0
Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 125 > manau1983 Messages postés 17 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 15 août 2008
8 mars 2008 à 14:02
Sur un label je ne sais pas... ça fait trop longtemps.

D'après le lien ci-dessus, une des classes implémentant l'interface Icon est l'ImageIcon.

J'essaierais donc ton code en remplaçant Icon par cette implémentation.

Javadoc ImageIcon

M.
0
Bonjour voici un exemple je sais pas si ca peux t'aider :
public class Test extends JFrame{
JLayerredPane lp;
JLabel label;
ImageIcon img;
int tailleX1, tailleY1;
public Test(int X, int Y){
img = new ImageIcon("medias/img1.gif");
label = new JLabel(image1);
tailleX1 = image1.getIconWidth();
tailleY1 = image1.getIconHeight();
label.setBounds(100, 100, tailleX1, tailleY1);
lp = new JLayeredPane();
lp.setPreferredSize(new Dimension(X, Y));
lp.add(label, new Integer(0));
getContentPane().add(layeredPane);
setSize(X,Y);
setTitle("Image");
pack();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String args[]){
new Test(800,600);
}
}
bon courage!
0
manau1983 Messages postés 17 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 15 août 2008
12 mars 2008 à 11:20
c quoi image1 dans
label = new JLabel(image1);
et merci de ton aide
0
manau1983 Messages postés 17 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 15 août 2008
12 mars 2008 à 11:37
import javax.swing.JFrame;
import javax.swing.*;
import java.awt.Dimension;
import javax.swing.JLayeredPane;

public class Test extends JFrame{
JLayeredPane lp=new JLayeredPane();
JLabel label;
ImageIcon img;
int tailleX1, tailleY1;
public Test(int X, int Y){
img = new ImageIcon("m.gif.jpg");
JPanel p1=new JPanel();
label = new JLabel();
tailleX1 = img.getIconWidth();
tailleY1 = img.getIconHeight();
label.setBounds(100, 100, tailleX1, tailleY1);
lp = new JLayeredPane();
lp.setPreferredSize(new Dimension(X, Y));
lp.add(label);
p1.add(lp);
getContentPane().add(p1);
setSize(X,Y);
setTitle("Image");
pack();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String args[]){
new Test(800,600);
}
}

teste ce code ,il n' a pas renvoyé chez moi c quoi le probleme a votre avis?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'ai un petit bout de programme que j'ai ecrit en algorithmique et je vient de le traduire en java
mais le probleme c q'il n'a pas marché.

T[]:tableau d'entiers
T'[]:tableau d'entiers
k,K:entier
C[]:tableau de boolean
M[m]:tableau d'entiers
Pre[n,m]:tableau a 2 dimension d'entier
k=1
pour i de 1 a m faire
pour j de 1 a n faire
si Pre[i,j]<=M[i]
alors T[k]=i
k=k+1
fin si
K=k
fin pour
fin pour

je veux recuperer la valeur de T[k] apres la sortie de la boucle
pour continuer le programme

y=1
pour i de 1 a K faire
x=T[k]
si (C(x)=true)
alors T'[y]=x
y=y+1;
fin si
fin pour
0
manau1983 Messages postés 17 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 15 août 2008
18 mars 2008 à 22:03
merci ,la fonction setIcon a marché
0