JButton Icon
Résolu/Fermé
Nouyou
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je veux écrire un code en java pour un bouton , lorsque je fais le premier clique il change d'icone , et il reviens sans icone en deuxième clique , et ainsi de suite . J'ai écrie ce code mais ça n'a pas marché , il me faut un contrôle pour "value"
Merci de me répondre !
Merci de me répondre !
public void actionPerformed(ActionEvent e) { value++; switch (value) { case 0 : centre[x][n].setIcon(null); break; case 1: centre[x][n].setIcon(one); break; }
A voir également:
- JButton Icon
- Change folder icon - Télécharger - Personnalisation
- Icon editor - Télécharger - Photo & Graphisme
- Exe icon changer - Télécharger - Personnalisation
- Icon changer windows 10 - Télécharger - Personnalisation
- Simply icon - Télécharger - Photo & Graphisme
2 réponses
Bonjour, il faut creer une variable de classe, tu l'initialise a 1, quand tu fais ton actionperformed, tu l'incremente d'abord, puis tu teste si elle est pair tu change d'icone, sinon tu enleve l'icone.
Bonjour,
Si tu n'as que présence ou absence de icônes, tu devrais utiliser un booléen.
Ou implicitement utiliser la valeur déjà mise dans l'icône :
Remarque : j'imagine (sans trop de peine) qu'il s'agit du même programme que dans ton autre discussion : Matrice interface graphique java.
Dans ce cas tu peux modifier mon code en remplaçant les dernières lignes de la classe Matrice par ceci :
La confiance n'exclut pas le contrôle
Si tu n'as que présence ou absence de icônes, tu devrais utiliser un booléen.
private boolean value = false; public void actionPerformed(ActionEvent e) { value = !value; centre[x][n].setIcon(value ? one : null); }
Ou implicitement utiliser la valeur déjà mise dans l'icône :
public void actionPerformed(ActionEvent e) { centre[x][n].setIcon(centre[x][n].getIcon()==null ? one : null); }
Remarque : j'imagine (sans trop de peine) qu'il s'agit du même programme que dans ton autre discussion : Matrice interface graphique java.
Dans ce cas tu peux modifier mon code en remplaçant les dernières lignes de la classe Matrice par ceci :
public void setIcon(int x, int y) { centre[x][y].setIcon(centre[x][y].getIcon()==ONE ? ZERO : ONE); }
La confiance n'exclut pas le contrôle
Ouii c'est le même ^^
Mais je vais changer la couleur de chaque bouton au lieu de changer l'icône . C'est pour cela que j'ai remplacé « value » par une matrice d'entier initialisée par des zéros .
Et ça a marché ?
et pour le bouton goButton j'ai fait ceci.
Mais je vais changer la couleur de chaque bouton au lieu de changer l'icône . C'est pour cela que j'ai remplacé « value » par une matrice d'entier initialisée par des zéros .
Et ça a marché ?
private static int [][] value ; public matrice() { . . value= new int[width][height]; } public void compteur (){ for(int i=0;i<width;i++) { for(int j=0;j<width;j++) value[i][j]=0; } } private static class MatriceListener implements ActionListener { private final matrice2 mat; private final int x; private final int y; public MatriceListener(matrice2 mat, int x, int y) { this.mat = mat; this.x = x; this.y = y; } @Override public void actionPerformed(ActionEvent e) { value[x][y]++; if (value[x][y]%2==1) mat.setColor(x,y); else mat.setColorNull(x,y);
et pour le bouton goButton j'ai fait ceci.
goButton.addActionListener(this); @Override public void actionPerformed(ActionEvent e) { Resultat R = new Resultat(value); this.dispose(); } public class Resultat extends JFrame { private final int Mat[][]; public Resultat(int Mat[][]){ this.setSize(400, 400); this.setVisible(true); this.Mat=Mat; } }
"Et ça a marché ?"
Est-ce vraiment une question ? Ou une affirmation ?
Quoi qu'il en soit je ferme cette discussion, tu commences à parler de goButton, c'est une proposition que je t'ai faite dans l'autre discussion, alors pour être cohérent, gardons une seule discussion d'ouverte :
https://forums.commentcamarche.net/forum/affich-31724352-matrice-interface-graphique-java
Est-ce vraiment une question ? Ou une affirmation ?
Quoi qu'il en soit je ferme cette discussion, tu commences à parler de goButton, c'est une proposition que je t'ai faite dans l'autre discussion, alors pour être cohérent, gardons une seule discussion d'ouverte :
https://forums.commentcamarche.net/forum/affich-31724352-matrice-interface-graphique-java