je un tableau avec une longueur de 3 donc index 0,1 et 2. Puis-je avoir un compteur (int c) et une limite de retournement (int capotage = array.length) et deux boutons qui écoutent quand ils sont cliquez pour déterminer d'aller de l'avant ou de revenir en arrière un.Comment diminuer le nombre de 1 et quand il frappe 0 revient au point de départ?
prev.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(c!=0) {
c--;
updateLabel(pokemons[c]);
} else if(c==0) {
c = rollover;
updateLabel(pokemons[c]);
}
}
});
next.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
c = (c+1) % rollover; //increase c until the limit
if(c==rollover) {
updateLabel(pokemons[c]);
}
else if(c<rollover) {
updateLabel(pokemons[c]);
}
}
});
Les travaux bouton « suivant », mais mon bouton « prev » rencontre une erreur lorsque vous êtes à l'index 0, mais fonctionne à nouveau lorsque vous cliquez dessus à nouveau. Fondamentalement, j'ai un JLabel qui montre des images de pokemon et quand je clique sur next ou prev il appelle la méthode updateLabel pour changer le JLabel et montre le pokemon suivant ou précédent dans le tableau. Des idées sur la façon de réparer le bouton prev?
Voilà. 'rollover == pokemons.length'. L'index maximum est 'pokemons.length - 1'. En fait, ce bit de code 'if (c == rollover)' dans le rappel 'next' ne sera jamais touché. En arithmétique modulaire, le 0 <= mod (c)
mkasberg
Merci, c'était le problème, il est sorti des limites –