Les interactions entre les fenêtres graphiques en java

Fermé
nesrine51092 Messages postés 30 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 19 avril 2015 - 1 déc. 2013 à 19:42
nesrine51092 Messages postés 30 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 19 avril 2015 - 1 déc. 2013 à 21:19
Bonsoir ,
je suis une débutante en programmation java je suis en cours de faire un mini projet avec ce langage .j'ai crée les interfaces graphiques nécessaires mais je ne sais pas comment faire les interactions entre eux par exemple je veux en cliquant sur un bouton la jframe
suivante s'ouvre avec la fermeture de la première jframe


donc j'ai besoin de votre aide et merci en avance
A voir également:

2 réponses

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
1 déc. 2013 à 20:24
Tu pourrais gérer un cache pour enregistrer différents composants transverses entre tes deux fenêtres, ça te permettrai d'y accéder n'importe quand par la suite.

import java.awt.Component;
import java.util.TreeMap;

public class Cache
{
    private static TreeMap<String, Component> map = new TreeMap<String, Component>();
    
    public static Component put(String name, Component component)
    {
        return map.put(name, component);
    }
    
    @SuppressWarnings("unchecked")
    public static <E extends Component> E get(String name)
    {
        return (E) map.get(name);
    }
    
    public static boolean contains(String name)
    {
        return map.containsKey(name);
    }
    
    public static boolean contains(Component component)
    {
        return map.containsValue(component);
    }
    
    public static boolean instanceOf(String name, Class<? extends Component> clazz)
    {
        return clazz.isInstance(map.get(name));
    }
    
    public static Component remove(String name)
    {
        return map.remove(name);
    }
}

Exemple :

public static void main(String[] args)
{
    JFrame frame1 = new JFrame();
    Cache.put("frame1",frame1);

    JFrame frame2 = new JFrame();
    Cache.put("frame2",frame2);
}

@Override
public void actionPerformed(ActionEvent e)
{
    JFrame frame1 = Cache.get("frame1");
    JFrame frame2 = Cache.get("frame2");
    frame1.setVisible(false);
    frame2.setVisible(true);
}
0
nesrine51092 Messages postés 30 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 19 avril 2015
1 déc. 2013 à 21:19
merci
0