Je suis étudiante débutante en Java et je bute sur un problème qui pourtant me paraissait simple à résoudre.
En fait, j'essaie d'afficher des images différentes dans une même zone en cliquant sur leurs boutons respectifs (Bouton 1 - Image 1 ; Bouton 2 - Image2)... J'ai ajouté les ActionListener respectifs aux boutons puis j'ai créé une méthode "public void actionPerformed(ActionEvent e)".
Jusque-là pas de problèmes mais c'est dans quand j'écris les conditions type if, if else que ça bloque:
J'ai essayé celle-ci (en sachant que j'utilise GridBagLayout et que lbl1 et lbl2 ont les mêmes coordonnées):
"{
Object o = e.getSource();
if(o == btn1)
{
panel1.add(lbl1);
}
else if (o == btn2)
{
panel1.add(lbl2);
}
}
Mais ça ne marche car il n'est apparement pas possible d'afficher une image de cette façon...
separateur = new JSplitPane((JSplitPane.VERTICAL_SPLIT));
separateur.setDividerSize(5); // Défini la taille du séparateur
separateur.setTopComponent(panel1); // Défini le contenu situé au dessus du séparateur (panel1)
separateur.setBottomComponent(panScroll); // Défini le contenu situé au dessous du séparateur (panScroll)
Container SepCont = getContentPane(); // Création d'un conteneur pour le séparateur
SepCont.add(separateur);
--------
si ton but est de fair un affichage en 'pile' fais toi un panel image avec le layout CardLayout dessus puis affiche la bonne image celon le bouton.
sinon pour ton problème d'ajout d'image ton code ne peut pas fonctionner surtout avec un GridBagLayout enfait quand tu fai un add il faut lui donner les contraintes de positionnnement pour ton image avec un Gridbagcontraints soit au minimum