Langage Java : repaint()
Résolu
Xeldal
-
Xeldal -
Xeldal -
A voir également:
- Langage Java : repaint()
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Langage ascii - Guide
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
6 réponses
Yep
ben je suis toujours pas sur d'avoir compris à 100% ce que tu attends mais si ton but c'est de faire disparaitre précédent lors du clic sur précédent lorsque le compteur arrive à 1 tu fais :
ou un truc dans le genre... Qu'en penses tu ?
Toopa
ben je suis toujours pas sur d'avoir compris à 100% ce que tu attends mais si ton but c'est de faire disparaitre précédent lors du clic sur précédent lorsque le compteur arrive à 1 tu fais :
if (evt.getActionCommand().equals("Precedent")){ if(i > 1){ i--; precedent.setVisible(true); } else{ precedent.setVisible(false); } }
ou un truc dans le genre... Qu'en penses tu ?
Toopa
Pour le bouton ça marcherais mais au final je voudrais créer un tableau de Panel qui dépendrais de la variable "i" et quand je i augmente avec le clique la fenêtre fait un refresh et affiche le panel qui correspond.
Par exemple :
Panel[0] : Photo / Panel[1] Texte. Quand je lance l'appli je vois la photo et quand je clique sur le bouton, le "i" augmente, la fenêtre se refresh et il m'affiche le texte au lieu de la photo.
Par exemple :
Panel[0] : Photo / Panel[1] Texte. Quand je lance l'appli je vois la photo et quand je clique sur le bouton, le "i" augmente, la fenêtre se refresh et il m'affiche le texte au lieu de la photo.
Certes, mais ton JPanel (contenant l'image que tu veux afficher) n'a rien à voir avec les boutons. Il est un composant de ta Frame, tout comme tes boutons.
Donc ton refresh en fait c'est juste de remplacer un JPanel par un autre dans ta JFrame.
Donc ton refresh en fait c'est juste de remplacer un JPanel par un autre dans ta JFrame.
En fait j'ai regardé ton programme et je l'ai un peu bricolé.. Dis moi ce que tu en penses et si tu veux des explications :
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Tutorial3D extends JFrame implements ActionListener{ private static final long serialVersionUID = 1L; JPanel Bas,Haut; JPanel[] Gauche ,Droite; JButton Precedent, Suivant; int i=0, max=3, min=0; public Tutorial3D(){ initComponents(); } private void initComponents(){ setTitle("Tutorial Java 3D"); setSize(1000, 800); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 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.addActionListener(this); Precedent.setSize(50,20); Precedent.setEnabled(false); Bas.add(Precedent); Suivant = new JButton("Suivant"); Suivant.addActionListener(this); Suivant.setSize(50,20); Bas.add(Suivant); add(Haut); add(Bas); } public void actionPerformed(ActionEvent e) { if (e.getSource() == Suivant) { if(i<3) i++; System.out.println("Valeur de i : "+i); Precedent.setEnabled(true); // tu ne peux pas atteindre i=0 en cliquant sur suivant switch(i){ // donc pas de "case 0" à gérer... ici case 1 : Suivant.setForeground(Color.cyan); break; case 2 : Suivant.setForeground(Color.yellow); break; case 3 : Suivant.setForeground(Color.green); Suivant.setEnabled(false); // désactivation du bouton suivant en fin de compteur break; } } else if (e.getSource() == Precedent){ if(i>0) i--; System.out.println("Valeur de i : "+i); Suivant.setEnabled(true); // tu ne peux pas atteindre i=3 en cliquant sur précédent switch(i){ // donc pas de "case 3" à gérer... ici case 1 : Suivant.setForeground(Color.cyan); break; case 2 : Suivant.setForeground(Color.yellow); break; case 0 : Suivant.setForeground(Color.green); Precedent.setEnabled(false); // désactivation du bouton suivant en fin de compteur break; } } } public static void main(String[] args) { Tutorial3D FenTuto = new Tutorial3D(); FenTuto.setVisible(true); } }
Bah tu contournes un peu ce que je veux faire. Ce que tu viens de me link je sais le faire. Mon problème c'est que je veux faire un refresh de la fenêtre et que j'y arrive pas. J'ai du mal m'expliquer : / . Au final mon problème c'est que je compte afficher dans ma fenêtre des choses en fonction de la variable "i" pour éviter de créer plein de fenêtre avec un lien entre elle ou de mettre 10 Panel non visiblement pendant que j'en affiche un.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question