Les interactions entre les fenêtres graphiques en java

nesrine51092 Messages postés 34 Statut Membre -  
nesrine51092 Messages postés 34 Statut Membre -
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 19031 Statut Modérateur 3 020
 
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 34 Statut Membre
 
merci
0