IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

Aide pour multifenêtrage


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 43
    Par défaut Aide pour multifenêtrage
    Bonjour à tous.

    Je suis en école d'ingénieur en ce moment (je vais rentrer en 2ème année dans une vingtaine de jours). L'an dernier, mon prof d'informatique nous a donné les bases de la programmations en Java, mais j'aimerai approfondir un peu pendant mes vavances.

    Donc en fait je voulais savoir si il était possible d'afficher plusieurs fenêtres en même temps.
    Je voudrais créer une première fenêtre avec plusieurs boutons (j'ai déjà programmer cette partie). Lorsqu'on clique sur l'un de ces boutons, la fenêtre se ferme et une autre s'ouvre avec un autre programme (en clair, je veux faire un menu à partir duquel on se dirige vers d'autres pages)

    Merci.

  2. #2
    Membre expérimenté Avatar de coco62
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 237
    Par défaut
    Quel language : java ?
    Pour reéaliser du WEB ?
    du swing ?
    de l'awt ?

    Merci de préciser ta question.

  3. #3
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 110
    Par défaut
    Je suis en école d'ingénieur en ce moment (je vais rentrer en 2ème année dans une vingtaine de jours). L'an dernier, mon prof d'informatique nous a donné les bases de la programmations en Java
    , merci de l'info (je ne suis pas si mal avec mon bts en fin de compte).

    Tu peux avoir N fenetres en même temps.

    la fenêtre se ferme
    utilise la methode mafenetre.dispose();
    Un fenetre qui se ferme ne signifi pas la fin du programme pour autant (lourde erreur qui fait qu'on se retrouve avec N execution encore en marche)
    un programme se termine sur une instruction system.exit(); ou si sur la fenetre est précisé : mafenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    et une autre s'ouvre avec un autre programme
    tout depend de ce que tu appelles un autre programme.
    - Si ca fait toujours partie du même programme mais qu'il s'agit juste d'une autre fenetre, il suffit de creer une fenetre au moment du click sur le bouton et de l'afficher.
    - Si c'est un autre programme (complètement séparé). Il faut utiliser les commandes runtime.exec("c:\...autreprog.exe") Mais rien ne communique entre les deux.

  4. #4
    Membre averti
    Inscrit en
    Août 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 43
    Par défaut
    Oula, un peu difficile pour moi (en tout cas pour mon niveau)...

    Je n'ai pas compris grand chose au deux derniers messages, mais je vais essayer de mieux expliquer. Tout d'abord, oui, je programme en JAVA.

    Maintenant, voici ce que j'ai fait pour le moment (quand j'ai dit les bases du java, c'est vraiment les bases...) :

    1ère classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class testprojet
    {
    	public static void main (String arg[])
    	{
    		projet test = new projet ("Projet",1,1,1024,735);
    	}
    }

    2ème classe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    import java.awt.* ; 
    import javax.swing.*; 
    import java.awt.event.*; 
    import java.io.*;
    import javax.sound.sampled.*
     
     
    public class projet extends JFrame
    {
    	private JPanel panneau = new JPanel(); 
    	private JLabel lib1 = new JLabel ("Projet été 2007");
    	private JButton but1 = new JButton("Menu1");
    	private JButton but2 = new JButton("Menu2");
    	private JButton but3 = new JButton("Menu3");
    	private JButton but4 = new JButton("Quitter");
     
    	public projet (String nom, int posX, int posY,int largeur, int hauteur)
    	{
    		super (nom);
    		setBounds(posX, posY, largeur, hauteur); 
    		setDefaultCloseOperation(EXIT_ON_CLOSE); 
    		setVisible(true);
     
    		panneau.setBackground(Color.white);
    		lib1.setForeground(Color.black);
    		panneau.add(lib1);
    		but1.setBackground(Color.white);
    		but2.setBackground(Color.white);
    		but3.setBackground(Color.white);
    		but4.setBackground(Color.white);
    		but1.setForeground(Color.blue);
    		but2.setForeground(Color.blue);
    		but3.setForeground(Color.blue);
    		but4.setForeground(Color.blue);
    		but1.addMouseListener(new MouseListener()
    		{
    			public void mouseClicked(MouseEvent e){}
    			public void mouseEntered(MouseEvent e)
    			{
    				but1.setBackground(Color.blue);
    				but1.setForeground(Color.white);
    			}
    			public void mouseExited(MouseEvent e)
    			{
    				but1.setBackground(Color.white);
    				but1.setForeground(Color.blue);
    			}
    			public void mousePressed(MouseEvent e){}
    			public void mouseReleased(MouseEvent e){}
    		});
    		panneau.add(but1);
    		but2.addMouseListener(new MouseListener()
    		{
    			public void mouseClicked(MouseEvent e){}
    			public void mouseEntered(MouseEvent e)
    			{
    				but2.setBackground(Color.blue);
    				but2.setForeground(Color.white);
    			}
    			public void mouseExited(MouseEvent e)
    			{
    				but2.setBackground(Color.white);
    				but2.setForeground(Color.blue);
    			}
    			public void mousePressed(MouseEvent e){}
    			public void mouseReleased(MouseEvent e){}
    		});
    		panneau.add(but2);
    		but3.addMouseListener(new MouseListener()
    		{
    			public void mouseClicked(MouseEvent e){}
    			public void mouseEntered(MouseEvent e)
    			{
    				but3.setBackground(Color.blue);
    				but3.setForeground(Color.white);
    			}
    			public void mouseExited(MouseEvent e)
    			{
    				but3.setBackground(Color.white);
    				but3.setForeground(Color.blue);
    			}
    			public void mousePressed(MouseEvent e){}
    			public void mouseReleased(MouseEvent e){}
    		});
    		panneau.add(but3);
    		but4.addMouseListener(new MouseListener()
    		{
    			public void mouseClicked(MouseEvent e)
    			{
    				System.exit(0);
    			}
    			public void mouseEntered(MouseEvent e)
    			{
    				but4.setBackground(Color.blue);
    				but4.setForeground(Color.white);
    			}
    			public void mouseExited(MouseEvent e)
    			{
    				but4.setBackground(Color.white);
    				but4.setForeground(Color.blue);
    			}
    			public void mousePressed(MouseEvent e){}
    			public void mouseReleased(MouseEvent e){}
    		});
    		panneau.add(but4);
    		setContentPane(panneau); 
    		setVisible(true); 
    	}
    }

    Comme vous le voyez, je n'ai programmer que la réactivité du 4ème bouton pour l'instant (quitter). J'aimerai que lorsque je clique sur l'un des 3 autres boutons, la fenêtre dans laquelle je suis se ferme (et le programme de cette fenêtre s'arrête), et une autre fenêtre s'ouvre avec un programme tout à fait différent (qui affiche par exemple un JLabel et un JButton seulement, ou bien une image avec un son)


    PS : Pour le moment je ne mets que les boutons et les réactivités. Je mettrai en place la grille de positionnement plus tard.

  5. #5
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 110
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    but4.addMouseListener(new MouseListener()
    		{
    			public void mouseClicked(MouseEvent e)
    			{
    				System.exit(0);
    			}
    			public void mouseEntered(MouseEvent e)
    			{
    				but4.setBackground(Color.blue);
    				but4.setForeground(Color.white);
    			}
    			public void mouseExited(MouseEvent e)
    			{
    				but4.setBackground(Color.white);
    				but4.setForeground(Color.blue);
    			}
    			public void mousePressed(MouseEvent e){}
    			public void mouseReleased(MouseEvent e){}
    		});
    ... hmmm... oui ca marche mais ce n'est pas la meilleur facon de faire.
    utilises plutot un actionListener :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    but4.addActionListener(new ActionListener(){
     
    public void actionPerformed(ActionEvent a){
        System.exit(0);
    }
    });

    pour afficher une autre fenetre et fermer celle où tu es :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    but1.addActionListener(new ActionListener(){
     
    public void actionPerformed(ActionEvent a){
     
        this.dispose();
     
        JFrame frm = new JFrame();
        frm.setSize(640,480);
        frm.setLocationrelativeto(null);
        frm.setVisible(true);
    }
    });

  6. #6
    Membre averti
    Inscrit en
    Août 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 43
    Par défaut
    Merci beaucoup. Je vais essayer ça.

    Sinon pour le MouseListener, je l'ai préféré à l'ActionListener car je voulais que le bouton change de couleur lorsque le curseur entrait dans la zone.

Discussions similaires

  1. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  2. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  3. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05
  4. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo