IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Changer l'icone d'un checkbox si


Sujet :

AWT/Swing Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 469
    Points : 149
    Points
    149
    Par défaut Changer l'icone d'un checkbox si
    Bonjour à tous,

    J'essaie afficher une icône a un checkbox dépendant d'une condition .
    J'essaie ceci mais aucun efffet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                    if (jCheckBoxLun1.isSelected()){
                    jCheckBoxLun1.setSelectedIcon(new ImageIcon(getClass().getResource("/decisions/Non.png")));
                    } else {
                    jCheckBoxLun1.setSelectedIcon(new ImageIcon(getClass().getResource("/decisions/Oui.png")));
                }
    Merci d'avance

    Habiler

  2. #2
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Quand tu dis que ca n'a aucun effet, qu'est ce qui se passe exactement ? As tu une exception ? Si oui laquelle ? Sinon, ou as tu mis ce code ?

    Il y a tellement de raisons possibles qui pourraient expliquer que ca ne marche pas qu'il est difficile de pouvoir choisir (Image introuvable, code pas appelé, exception, ...)

  3. #3
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    D'un autre côté, en dépit de tout dysfonctionnement, et de ses raisons, ce n'est pas très logique de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    si ( sélectionné ) alors
        image à afficher quand c'est sélectionné = "NON"
    sinon
        image à afficher quand c'est sélectionné = "OUI"
    fin si
    On évite de modifier l'image sur changement de sélection. On choisit en dehors de tout processus de sélection une image pour le cas sélectionné et une image pour le cas non sélectionné. Eventuellement, une autre saisie (dont sélection) pourrait changer le set d'images (genre on voudrait avoir des images adaptée à un type d'objet sélectionné dans une combo).
    Et puis, choisir une image qui représente la sélection lorsque la checkbox n'est pas sélectionné ne risque pas d'avoir un effet, sauf sur la prochaine déselection éventuellement.
    Sans parler de l'étrangeté d'avoir un "non" pour un "sélectionné", mais c'est vrai qu'on peut inverser le sens d'une checkbox dans certains contextes.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 469
    Points : 149
    Points
    149
    Par défaut
    Bonsoir à tous,

    Voici un peu plus de code.

    J'ai également une erreur au nveau du combobox jCboPcActivity
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     jCboPcActivity.setString(rs3.getSelectedItem(6));

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
          private void buttonDisplayADecision(MouseEvent e) {
     
        //  PreparedStatement ps3 = null;
           // Connection conn1;  
            try{
           // Beslissing p = new Beslissing();
           // conn1 = Connect.ConnectDB();
            PreparedStatement ps3 = conn.prepareStatement("select * from Decisions where Numero=?");
            ps3.setString(1,TxtNumero.getText()); 
            ResultSet rs3 = ps3.executeQuery();
     
     
                if (rs3.next()) {
                    jDateChooserDateDec.setDate(rs3.getDate(3));
                    jDateChooserDateDebut.setDate(rs3.getDate(4));
                    jDateChooserDateFin.setDate(rs3.getDate(5));
                    jDateChooserPostposeDebut.setDate(rs3.getDate(9));
                    jDateChooserPostposeFin.setDate(rs3.getDate(10));
     
                    jCboPcActivity.setString(rs3.getSelectedItem(6));
                    //jCboTypeAbsence.set(rs3.getString(7));
                    jCheckBoxRefus.setText(rs3.getString(8));
                    jCheckBoxPostpose.setText(rs3.getString(11));
     
                    jTextAreaRemarques.setText(rs3.getString(2) +"=> date n° déc. "+
                            /*                // Jours semaines
                            rs3.getString(11)+" "+
                            rs3.getString(12)+" "+
                            rs3.getString(13)+" "+
                            rs3.getString(14)+" "+
                            rs3.getString(15)+" "+
                            rs3.getString(16)+" "+
                            rs3.getString(17)+" "+
                            rs3.getString(18)+" "+
                            rs3.getString(19)+" "+
                            rs3.getString(20)+" "+
                            // fin jours semaines*/
                            rs3.getString(6)+" %"+
                            rs3.getString(7)+" "+
                            rs3.getString(8)+" "+
                            rs3.getString(9)+" "+
                            rs3.getString(10)+" "+
                            rs3.getString(11)+" \n");                
     
     
                    if (jCheckBoxLun1.isSelected()){
                    jCheckBoxLun1.setSelectedIcon(new ImageIcon(getClass().getResource("/decisions/Non.png")));
                    } else {
                    jCheckBoxLun1.setSelectedIcon(new ImageIcon(getClass().getResource("/decisions/Oui.png")));
                    }
     
                    jCheckBoxLun1.setText(rs3.getString(11));
                    jCheckBoxMar1.setText(rs3.getString(12));
                    jCheckBoxMer1.setText(rs3.getString(13));
                    jCheckBoxJeu1.setText(rs3.getString(14));
                    jCheckBoxVen1.setText(rs3.getString(15));
                    jCheckBoxLun2.setText(rs3.getString(16));
                    jCheckBoxMar2.setText(rs3.getString(17));
                    jCheckBoxMer2.setText(rs3.getString(18));
                    jCheckBoxJeu2.setText(rs3.getString(19));
                    jCheckBoxVen2.setText(rs3.getString(20));
     
                } 
     
        }
            catch(SQLException ep) {
     
            JOptionPane.showMessageDialog(null, e);
        }  
        }

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Et bien, il suffit de faire ce qui suit pour initialiser la checkbex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    checkbox.setText( le texte qui va s'afficher );
    checkbox.setIcon( l'image qu'on veut voir s'afficher quand la checkbox n'est pas cochée = pas sélectionnée ) ;
    checkbox.setSelectedIcon( l'image qu'on veut s'afficher quand la checkbox est cochée = sélectionnée );
    // éventuellement, checkbox.setPressedIcon( image qu'on veut voir s'afficher quand l'utilisateur "appuie" sur la checkbox, setDisabledIcon() quand la checkbox n'est pas enabled et pas cochée, setDisabledSelectedIcon quand elle n'est pas enabled mais selected, setRolloverIcon/setRolloverSelectedIcon quand la souris survole la checkbox
    Pas besoin de test... c'est juste de la configuration, et la checkbox va se débrouiller pour afficher la bonne image en fonction de ses états.


    Citation Envoyé par HABILER Voir le message

    J'ai également une erreur au nveau du combobox jCboPcActivity
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     jCboPcActivity.setString(rs3.getSelectedItem(6));
    Bah, rs3, c'est une variable de type ResultSet, on risque pas d'y trouver une méthode getSelectedItem(int) !. Pas plus que de setString(...) sur JComboBox... là, on dirait un copier/coller le code de sauvegarde mal retourné...
    Il y a quoi dans cette colonne 6 ? Si c'est le libellé sélectionné dans la combo, il suffit d'appeler rs3.getString(6)...
    Et si la combo affiche des String, jCboPcActivity.setSelectedItem( rs3.getString(6) );, si, et seulement si, la combo est déjà remplie, et contient cette valeur.


    NB1 : c'est quoi ce MouseEvent ? Si l'action provient d'un bouton, ce serait plus judicieux de passer par un ActionListener, que par un MouseListener !
    NB2... et pense à là fermeture du PreparedStatement (cf try-with-resource)?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 469
    Points : 149
    Points
    149
    Par défaut
    Bonjour à tous,

    J'ai essaye ceci avec ou sans {} Mais tout reste sur Oui.png

    Habiler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                    {
                    jCheckBoxLun1.setText(rs3.getString(11));
                    jCheckBoxLun1.setIcon(new ImageIcon(getClass().getResource("/decisions/Oui.png")));
                    jCheckBoxLun1.setSelectedIcon(new ImageIcon(getClass().getResource("/decisions/Non.png")));
                    }{
                    jCheckBoxLun2.setText(rs3.getString(16));
                    jCheckBoxLun2.setIcon(new ImageIcon(getClass().getResource("/decisions/Oui.png")));
                    jCheckBoxLun2.setSelectedIcon(new ImageIcon(getClass().getResource("/decisions/Non.png")));
                    }

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Les accolades (les enlever ou les laisser), dans ce cas, ne changeront rien au résultat de l'exécution. Le changement d'apparence ne peut dépendre que de :

    • les images Oui.png et Non.png ont été trouvées/chargées ou pas
    • la checkbox est sélectionnée ou non


    Si tu es censé établir une sélection en fonction des informations récupérées par ta requête, il va falloir qu'il y ait au moins un code du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ( condition sur un champ de rs3 qui signifie une sélection ) {
     
         unecheckbox.setSelected(true);
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 469
    Points : 149
    Points
    149
    Par défaut
    Bonsoir,

    j ai essaye ceci mais sans resultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                    if(rs3.getString(11)== "false"){
                    jCheckBoxLun1.setIcon(new ImageIcon(getClass().getResource("/decisions/Oui.png")));
                     } else{ 
                    jCheckBoxLun1.setIcon(new ImageIcon(getClass().getResource("/decisions/Non.png")));                  
                    }

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Ne jamais comparer des String avec ==, mais avec equals()...

    Et je t'ai dit déjà que ce n'est pas l'icône qui doit changer en fonction de ta valeur, mais la sélection de la checkbox... l'icône sert à changer le rendu, point barre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     jCheckBoxLun1.setSelected( "false".equals(rs3.getString(11)) );
    ou ça si tu as inversé la logique (parce "true", en général, ça veut dire une checkbox sélectionnée...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     jCheckBoxLun1.setSelected( "true".equals(rs3.getString(11)) );
    Et si dans ta logique oui c'est non, et non c'est oui, alors tu inverses les icônes, mais pas les valeurs !!!
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 469
    Points : 149
    Points
    149
    Par défaut
    Bonjour à tous,

    En fait ce à quoi j'essaie d'arriver c'est qu'au départ d'une access j'ai le résultat annexé.
    Lorsque cela semble fonctionner alors le label de ma checkbok affiche TRUE ou FALSE au lieu de Lundi(par ex.)
    Si quelqu'un pouvait m'aider.

    Merci pour votre aide.

    Nom : Capture.JPG
Affichages : 562
Taille : 31,5 Ko

  11. #11
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par HABILER Voir le message
    En fait ce à quoi j'essaie d'arriver c'est qu'au départ d'une access j'ai le résultat annexé.
    Qu'est ce que ça peut bien vouloir dire ? Départ d'une access ? Résultat annexé ?

    Une boite à cocher (JCheckBox en Swing) c'est un composant qui permet de saisir un booléen : elle est soit cochée (checked), soit non cochée (unchecked). Par souci d'unification, en Swing, l'état checked/unchecked se modifie par la méthode setSelected(boolean), se lit par la méthode boolean isSelected(), et lorsque l'utilisateur clique dessus, ça passe d'un état à l'autre, alternativement.

    Ensuite, on peut paramétrer le rendu de la checkbox, la manière dont elle apparait à l'utilisateur : en dehors des styles (couleur, police, tout ça), on peut lui affecter :
    1. un texte qui dit à quelle information la checkbox correspond
    2. des icônes, qui servent à représenter différent états, dont l'état coché ou pas coché (les autrs étant : cochable, actuellement survolé par la souris, etc...), certaines icônes pouvant représenter des combinaisons d'états (survolé par la souris et coché en même temps par exemple)).

      Par défaut, une checkbox est représenté :
      • décochée : Nom : unchecked.PNG
Affichages : 487
Taille : 2,8 Ko
      • cochée : Nom : checked.png
Affichages : 520
Taille : 2,9 Ko


      On peut modifier cette apparence en changeant l'icône.
      Par exemple, si on veut :
      • décochée : Nom : lock_open.png
Affichages : 434
Taille : 4,5 Ko
      • cochée : Nom : lock.png
Affichages : 535
Taille : 4,6 Ko

      Et bien tu fais :

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      JCheckBox checkBox = new JCheckBox(text);
      checkBox.setIcon( l'icône correspondante à lock_open.png );
      checkBox.setSelectedIcon( l'icône correspondante à open.png   );
      C'est tout, pas de isSelected(), pas de setSelected(true) ou setSelected(false), rien, nada !


    Le projet exemple :
    Nom : Capture.PNG
Affichages : 495
Taille : 4,9 Ko

    Le Main.java :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    package example;
     
    import java.awt.GridLayout;
     
    import javax.swing.ImageIcon;
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
    public class Main {
     
    	public static void main(String[] args) {
     
    		JFrame frame = new JFrame("Démo");
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    		JPanel panel = new JPanel(new GridLayout(0,2));
     
    		boolean[] locks = {true, false, true, true, false, false};
     
    		for(int i=0; i<locks.length; i++) {
    			JCheckBox checkBox = createCheckBox("Machin "+(i+1));
    			checkBox.setSelected(locks[i]);
    			panel.add(checkBox);
    		}
     
    		frame.add(panel);
     
    		frame.setSize(300, 300);
    		frame.setLocationRelativeTo(null);
    		frame.setVisible(true);
     
     
    	}
     
    	private static JCheckBox createCheckBox(String text) {
    		JCheckBox checkBox = new JCheckBox(text);
    		checkBox.setIcon(new ImageIcon(Main.class.getResource("/icons/lock_open.png")));
    		checkBox.setSelectedIcon(new ImageIcon(Main.class.getResource("/icons/lock.png")));
    		return checkBox;
    	}
     
    }
    Et le résultat à l'écran :

    Nom : Capture.PNG
Affichages : 482
Taille : 12,4 Ko

    Et lorsque l'utilisateur clique sur les boites, et bah, ça change d'icône tout seul en fonction de l'état :

    Nom : example.gif
Affichages : 491
Taille : 22,3 Ko
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 469
    Points : 149
    Points
    149
    Par défaut
    En fait je recupère des données d'une table access.

    Si la donnée récupérée est "checkée" alors l'icône affichée est non.png.

    Donc je dois savoir si rs3.getString(11) (par ex) est coché alors non.png

    Merci et bonne nuit

    Habiler

  13. #13
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par HABILER Voir le message
    En fait je recupère des données d'une table access.
    Ça ne change rien à l'histoire. Tu as une information, qui correspond à "cochée" ou à "non cochée", peu importe d'où elle vient.

    Citation Envoyé par HABILER Voir le message
    Si la donnée récupérée est "checkée" alors l'icône affichée est non.png.
    Non. Je t'ai répété que tu dois distinguer la notion de valeur et la notion de rendu de la valeur. La valeur est "cochée" ou "non cochée". Point final. setSelected( valeur est cochée ), point final. Et le rendu c'est autre chose, par setIcon et setSelectedIcon.
    Quand tu utilises une checkbox avec le rendu standard, tu ne te préoccupes que du setSelected pour affecter l'état de la checkbox. Et bien, quand le rendu n'est pas standard, c'est pareil ! Tu ne t'occupes que de l'état, point barre. Et le rendu, c'est autre chose, c'est quand tu créés la checkbox.

    Citation Envoyé par HABILER Voir le message
    Donc je dois savoir si rs3.getString(11) (par ex) est coché alors non.png
    Si le rendu de selected=true est non.png, alors tu affectes l'icône non.png comme icône pour l'état selected, donc setSelectedIcon( ..."non.png" ), et pour le cas selected=false, setIcon(...oui.png ). Et ensuite, si tu fais checkbox.setSelected( estCochee(rs3.getString(11))), alors "non.png" sera affichée si estCochee() est true.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CheckBox] Changer l'icone
    Par JamesP dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 13/12/2006, 15h29
  2. [MFC]changer l'icone d'un éxécutable
    Par Blo0d4x3 dans le forum MFC
    Réponses: 3
    Dernier message: 31/08/2004, 18h20
  3. [C#] Changer l'icone dynamiquement
    Par Piolet dans le forum Windows Forms
    Réponses: 16
    Dernier message: 25/08/2004, 14h08
  4. [Swing]changer l'icone du hotjava
    Par juflata dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/08/2004, 15h08
  5. Réponses: 4
    Dernier message: 16/02/2004, 16h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo