Bonjour,
Je dois créer un Tutorial pour un projet en java. Mon idée était de faire une seule fenêtre et d'incrémenter un compteur pour changer de panel à chaque fois. J'ai donc 2 boutons :
Précédent et Suivant. Précédent n'est pas présent quand le compteur est à zéro et Suivant n'est pas présent quand le compteur est au max. J'aimerai avec un repaint afficher ou non les boutons grâce au compteur qui s'incrémente dans les écouteurs. Les écouteurs marchent puisque le bouton suivant change de couleur quand je clique dessus mais je n'arrive pas à afficher le bouton précédent quand je clique sur le bouton suivant. Le bouton précédent s'affiche quand je met le compteur à 1.
package Objectif3D;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Tutorial3D extends JFrame{
JPanel Bas,Haut;
JPanel[] Gauche ,Droite;
JButton Precedent, Suivant;
int i=0, max=3, min=0;
public Tutorial3D(){
initComponents();
}
private void initComponents(){
this.setTitle("Tutorial Java 3D");
this.setSize(1000, 800);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new GridLayout(2,1));
Haut = new JPanel();
Haut.setLayout(new GridLayout(1,2));
Haut.setSize(100,100);
Bas = new JPanel();
Bas.setLayout(new GridLayout(1,2));
Bas.setSize(100,20);
Precedent = new JButton("Précédent");
Precedent.setActionCommand("Precedent");
Precedent.setSize(50,20);
Suivant = new JButton("Suivant");
Suivant.setSize(50,20);
if (i == min){
Precedent.setVisible(false);
}else{
Precedent.setVisible(true);
}
if (i == max){
Suivant.setVisible(false);
}else{
Suivant.setVisible(true);
}
Bas.add(Precedent);
Bas.add(Suivant);
Suivant.addActionListener(new btnDeplacement());
Precedent.addActionListener(new btnDeplacement());
this.add(Haut);
this.add(Bas);
}
class btnDeplacement implements ActionListener {
public void actionPerformed(ActionEvent evt) {
if (evt.getActionCommand().equals("Suivant")) {
i++;
if (i == 1){
Suivant.setForeground(Color.cyan);
}else if(i==2){
Suivant.setForeground(Color.yellow);
}else if(i==3){
Suivant.setForeground(Color.green);
}
repaint();
}else if (evt.getActionCommand().equals("Precedent")){
i--;
Precedent.setForeground(Color.cyan);
repaint();
}
}
}
public static void main(String[] args) {
Tutorial3D FenTuto = new Tutorial3D();
FenTuto.setVisible(true);
}
}
