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

AWT/Swing Java Discussion :

Que des fenêtres


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Par défaut Que des fenêtres
    Bonjour à tous,

    Mon projet d'école consiste à créer un site d'achat de course en ligne.

    J'ai crée une fenêtre principale "Site" avec des onglets (Client,Article,Panier,...).
    Lorsque je clique sur l'onglet Client par exemple, une nouvelle fenêtre doit s'ouvrir pour permettre d'identifier le client qui peut-être nouveau ou pas.
    Mon problème est que lorsque je compile ma classe "Site" fenêtre principale, la fenêtre secondaire de la classe "Client" apparait aussi.

    Mon code de la classe "Site", fenêtre principale
    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
     
    package site_achat_course_en_ligne;
     
    import java.awt.*;
    import javax.swing.*;
     
    public class Site 
    {
    public static void main (String args[])
    {
    	JFrame f = new JFrame("Bienvenue sur mon site achat course en ligne");
        f.setSize(1000, 700);
        JPanel pannel = new JPanel();
     
        JTabbedPane onglets = new JTabbedPane(SwingConstants.TOP);
     
        JPanel onglet1 = new JPanel();
        JLabel titreOnglet1 = new JLabel("");
        onglet1.add(titreOnglet1);
        onglet1.setPreferredSize(new Dimension(1000,10));
        onglets.addTab("Article", onglet1);
     
        JPanel onglet2 = new JPanel();
        JLabel titreOnglet2 = new JLabel("");    
        onglet2.add(titreOnglet2);
        onglets.addTab("Panier", onglet2);
     
        JPanel onglet3 = new JPanel();
        JLabel titreOnglet3 = new JLabel("");    
        onglet2.add(titreOnglet3);
        onglets.addTab("Transport", onglet3);
     
        JPanel onglet4 = new JPanel();
        JLabel titreOnglet4 = new JLabel("");    
        onglet2.add(titreOnglet4);
        onglets.addTab("Réduction", onglet4);
     
        JPanel onglet5 = new JPanel();
        JLabel titreOnglet5 = new JLabel("");    
        onglet2.add(titreOnglet5);
        onglets.addTab("CarteU", onglet5);
     
        JPanel onglet6 = new JPanel();
        JLabel titreOnglet6 = new JLabel("");    
        onglet2.add(titreOnglet6);
        onglets.addTab("Client", onglet6);
     
        JPanel onglet7 = new JPanel();
        JLabel titreOnglet7 = new JLabel("");    
        onglet2.add(titreOnglet7);
        onglets.addTab("Paiement", onglet7);
     
        JPanel onglet8 = new JPanel();
        JLabel titreOnglet8 = new JLabel("");    
        onglet2.add(titreOnglet8);
        onglets.addTab("Modification", onglet8);
     
        JPanel onglet9 = new JPanel();
        JLabel titreOnglet9 = new JLabel("");    
        onglet2.add(titreOnglet9);
        onglets.addTab("Validation", onglet9);
     
        JPanel onglet10 = new JPanel();
        JLabel titreOnglet10 = new JLabel("");    
        onglet2.add(titreOnglet10);
        onglets.addTab("Facture", onglet10);  
     
        onglets.setOpaque(true);
        pannel.add(onglets);
        f.getContentPane().add(pannel);
        f.setVisible(true);
        FenetreC f1 = new FenetreC();
        f1.pack();
        f1.setVisible(true);
        }
    }
    Mon code de la classe "Client", fenêtre secondaire
    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
    package site_achat_course_en_ligne;
     
    import java.awt.Container;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
     
     
    class FenetreC extends JFrame implements ActionListener 
    {
    	private JButton b_oui, b_non;	 
     
    public FenetreC()
    {
    setTitle("Identification du client");
    Container ccf = this.getContentPane();
    GridLayout g = new GridLayout(19,10);
    ccf.setLayout(g);
     
    JPanel p1 = new JPanel();
    p1.add(new JLabel("Etes-vous déjà client ?"));
    p1.setLayout(new FlowLayout(FlowLayout.CENTER));
    b_oui = new JButton("oui");
    b_non = new JButton("non");
    p1.add(b_oui);
    p1.add(b_non);
    ccf.add(p1);
    b_oui.addActionListener(this);
    b_non.addActionListener(this);
    }
     
    public void actionPerformed(ActionEvent e)
    {
    	String nom = e.getActionCommand();
     
    	    if (nom.equals("oui"))
    		JOptionPane.showMessageDialog(this, "Identifiez-vous dans la liste qui suit");
     
    		else if (nom.equals("non"))
    		{
    			JOptionPane.showMessageDialog(this, "Veuillez remplir le formulaire qui suit");
    		}
    }
    }
     
    class DelegueC implements ActionListener
    {
    	public void actionPerformed(ActionEvent e)
    	{
    		System.exit(0);
    	}
    }
     
     
    public class Client 
    {
    public static void main (String args[])
    {
    	FenetreC f1 = new FenetreC();
        f1.pack();
        f1.setVisible(true);
     
       }
    }
    J'espère avoir été clair dans mes explications.
    Je fais donc appel à vous et d'avance merci de votre aide.

    Farwest.

  2. #2
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Mon problème est que lorsque je compile ma classe "Site" fenêtre principale, la fenêtre secondaire de la classe "Client" apparait aussi.
    Lorsque tu exécutes le classe Site ?

    Que les fenêtres s'ouvrent, c'est normal, c'est écrit dans le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static void main (String args[])
    {
        ...
        f.getContentPane().add(pannel);
        f.setVisible(true);
        FenetreC f1 = new FenetreC();
        f1.pack();
        f1.setVisible(true);
     }

  3. #3
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Citation Envoyé par farwest Voir le message
    Mon projet d'école consiste à créer un site d'achat de course en ligne.
    Hum, pardon pour la question, mais un site de vente en ligne ça se fait pas plutôt en html? Parce que un site utilisant un client riche swing, c'est pas franchement top niveau accessibilité...

    Si vraiment tu veux du client riche, autant le faire en flash/flex, au moins c'est connu et tous les navigateurs en ont. Sinon avec du simple html/css/js, on peut déjà faire des trucs très très corrects. Tu peux par contre garder java/jsp pour la partie serveur...

    Enfin je dis ça, c'est juste que si ce projet (scolaire) vient un jour utilisé pour de vrai, les utilisateurs vont faire exploser la hotline à force de ne pas pouvoir installer leur jvm....


  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Par défaut Suite
    Bonjour à tous,

    Effectivement, j'ai bien compris que c'était écrit dans ma classe "Site", alors c'est une histoire d'héritage, de sérialisation... Mes compétences sur le langage sont encore trop faibles. Quant à html...., ce n'est pas au programme. Je dois écrire un code en Java.

    Merci à tous.

    Farwest.

  5. #5
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par farwest Voir le message
    Effectivement, j'ai bien compris que c'était écrit dans ma classe "Site", alors c'est une histoire d'héritage, de sérialisation...
    Ouhlala, non, pas du tout, rien à voir avec l'héritage, la sérialisation, ou l'élevage des pingouins sibériens en eau douce. Comme dit précédemment, si tu ne veux pas que les deux fenêtres s'affichent, alors ne met pas le code correspondant à l'affichage de la deuxième fenêtre !
    Ce n'est pas un problème de programmation, mais d'algorithme.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  6. #6
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Lorsque je clique sur l'onglet Client [...] une nouvelle fenêtre doit s'ouvrir
    Où est-ce dans ton code ?

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Par défaut récupérer une fenêtre
    Bonjour à tous,

    Dans ma classe client, j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class Client 
    {
    public static void main (String args[])
    {
        FenetreC f1 = new FenetreC();
        f1.pack();
        f1.setVisible(true);
     
       }
    }
    Il faut que je dise quoi alors, dans ma classe Site, pour récupérer cette fenêtre ?
    C'est là tout le problème.

    Merci à tous.

    Farwest.

Discussions similaires

  1. [Java] Redimensionnement des composants en même temps que la fenêtre
    Par Yann_69 dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 31/05/2012, 14h19
  2. Rnd qui ne donne pas que des bonnes valeurs
    Par kubito dans le forum Access
    Réponses: 2
    Dernier message: 08/10/2004, 18h00
  3. Que des problèmes avec vi
    Par meufeu dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 20/07/2004, 16h48
  4. Liste des fenêtres ouvertes de IE
    Par Trash dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/11/2003, 16h21

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