La syntaxe de la fonction setIcon dans java

Résolu
manau1983 Messages postés 17 Statut Membre -  
manau1983 Messages postés 17 Statut Membre -
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.
Configuration: Windows XP
Firefox 2.0.0.12

6 réponses

  1. Mahmah Messages postés 497 Statut Membre 125
     
    Bonjour,

    Icon est une interface.

    Javadoc javax.swing.Icon

    M.
    1
    1. manau1983 Messages postés 17 Statut Membre
       
      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
      1. Mahmah Messages postés 497 Statut Membre 125 > manau1983 Messages postés 17 Statut Membre
         
        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
  2. 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
  3. manau1983 Messages postés 17 Statut Membre
     
    c quoi image1 dans
    label = new JLabel(image1);
    et merci de ton aide
    0
  4. manau1983 Messages postés 17 Statut Membre
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. manau1983 Messages postés 17 Statut Membre
     
    merci ,la fonction setIcon a marché
    0