La syntaxe de la fonction setIcon dans java

Résolu
manau1983 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
manau1983 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   125
 
Bonjour,

Icon est une interface.

Javadoc javax.swing.Icon

M.
1
manau1983 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   125 > manau1983 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
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
ray_fab
 
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   Statut Membre Dernière intervention  
 
c quoi image1 dans
label = new JLabel(image1);
et merci de ton aide
0
manau1983 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
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
manau1983
 
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   Statut Membre Dernière intervention  
 
merci ,la fonction setIcon a marché
0