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 :

[debutant] Interface graphique ???


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut [debutant] Interface graphique ???
    Bonjour à tous,

    je n'ai pas l'habitude de demander ça mais j'ai vraiment besoin de beaucoup d'aide !

    Je dois rendre une application en JAVA pour demain soir et je n'arrive pas à m'en sortir.

    J'ai commencé à lire les FAQ et les tutoriaux, mais je m'y perds. Je n'arrive pas à trouver les réponses précises à mes questions.

    Merci de me guider, si vous en avez le temps.

    Comment faire simplement une interface graphique avec plusieurs "fenêtres", à moins qu'il soit préférable de faire plusieurs "panels" ??? J'avoue que je ne suis pas très au point là dessus

    Il paraît qu'il est possible de faire plusieurs "panels" et de les désactiver (ou masquer - je ne connais pas le mot exact) ???

    Si je fais plusieurs fenêtres je ne pourrais pas utiliser mon menu ou alors je devrais le copier à chaque fois ?! Je ne pense pas, car cela ne respecterait absolument pas les principes de bases du JAVA et de la prog objet en générale !?




    Voici ce que j'ai fait pour l'instant. Je suis bloqué, car j'ai créé une fenêtre avec des composants et ceci n'est que la fenêtre "A propos". Comment faire les autres ???

    Accueil.java
    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
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    /*
     * Accueil.java
     *
     * Created on 6 février 2006, 14:47
     *
     * To change this template, choose Tools | Options and locate the template under
     * the Source Creation and Management node. Right-click the template and choose
     * Open. You can then make changes to the template in the Source Editor.
     */
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
    /**
     *
     * @author gom
     */
     
    public class Accueil extends JFrame implements ActionListener {
     
        // Variables
        String D_MODIF="7 février 2006";
        int larg=360, haut=250, pt_x, pt_y;
     
        Container c1;
     
        JMenuBar mb;
        JMenu mn1, mn2;
        JMenuItem mi11, mi12, mi21;
     
        JLabel etiquette, etiquette2, etiquette3;
        JTextField auteurs, date_creation, date_modif;
     
       /** Constructeur vide */
        public Accueil() {
     
            // Résolution 1024*768
            pt_x=322;
            pt_y=264;
     
            // Résolution 1280*800
            pt_x=450;
            pt_y=270;
     
            // Création d'une interface
            setTitle("Immo H&M - Gestion du parc immobilier");// ajout d'une titre à la fenêtre principale
            setSize(larg,haut);// largeur*hauteur de la fenêtre
     
            // Création d'un conteneur recevant les éléments
            c1 = getContentPane();
            c1.setLayout(new FlowLayout(FlowLayout.LEFT));// choix de la mise en forme
     
            // Création d'une barre de menu
            mb = new JMenuBar();
     
            mn1 = new JMenu("Fichier");
            mi11 = new JMenuItem("Retourner à l'accueil");
            mi11.addActionListener(this);// écouteur sur cet élément du menu
            mi12 = new JMenuItem("Rechercher un logement");
            mi12.addActionListener(this);
     
            mn2 = new JMenu("Informations");
            mi21 = new JMenuItem("A propos de Immo H&M");
            mi21.addActionListener(this);
     
            mn1.add(mi11);
            mn1.add(mi12);
            mn2.add(mi21);
            mb.add(mn1);
            mb.add(mn2);
            setJMenuBar(mb);
     
            // Affichage des auteurs
            etiquette = new JLabel("Auteurs : ");
            c1.add(etiquette);
            auteurs = new JTextField();
            c1.add(auteurs);
            auteurs.setText("HUCHET Guillaume & MEHEUST Jean-François");
            auteurs.setEditable(false);
     
            // Affichage de la date de création
            etiquette2 = new JLabel("Date de création : ");
            c1.add(etiquette2);
            date_creation = new JTextField();
            c1.add(date_creation);
            date_creation.setText("6 février 2006");
            date_creation.setEditable(false);
     
            // Affichage de la dernière date de modification
            etiquette3 = new JLabel("Date de dernière modification : ");
            c1.add(etiquette3);
            date_modif = new JTextField();
            c1.add(date_modif);
            date_modif.setText(D_MODIF);
            date_modif.setEditable(false);
     
            setContentPane(c1);
     
            setAlwaysOnTop(true);
            setLocation(pt_x,pt_y);
            setResizable(false);
            //setDefaultCloseOperation(EXIT_ON_CLOSE);
            setDefaultCloseOperation(DISPOSE_ON_CLOSE);
            setVisible(true);
     
        }
     
        public void actionPerformed(ActionEvent event) {
            if (event.getSource() == mi11) {
                //setVisible(true);
                auteurs.setText("Ca marche_1");
            }
            if (event.getSource() == mi12) {
                //setVisible(false);
                auteurs.setText("Ca marche_2");
            }
            if (event.getSource() == mi21) {
                //setVisible(false);
                auteurs.setText("Ca marche_3");
            }
        }
     
         public static void main(String[] arg) {
            Accueil fen = new Accueil();
        }
    }

    [EDIT]
    Je suis bien évidemment prêt à recueillir tout tuto ou articles de FAQ.
    [/EDIT]


    Merci d'avance.

    Gôm

  2. #2
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Citation Envoyé par ghohm
    Comment faire simplement une interface graphique avec plusieurs "fenêtres", à moins qu'il soit préférable de faire plusieurs "panels" ??? J'avoue que je ne suis pas très au point là dessus Confused

    Il paraît qu'il est possible de faire plusieurs "panels" et de les désactiver (ou masquer - je ne connais pas le mot exact) ???
    tu peux utiliser des panels, il suffit pour cela d'utiliser un CardLayout

    Si je fais plusieurs fenêtres je ne pourrais pas utiliser mon menu ou alors je devrais le copier à chaque fois ?! Je ne pense pas, car cela ne respecterait absolument pas les principes de bases du JAVA et de la prog objet en générale !?
    effectivement, en fait dans une JFrame il y a un emplacement speciale pour la barre de menu ,cf architecture d'une JFrame

    Et pour les fenetres internes, mieux vaut utiliser une JDialogue


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Merci afrikha

    Si je te comprends bien, je dois :

    Créer une JFrame dans laquelle je ne mettrais dedans que le menu (à moins que je dois en plus positionner mon menu dans son propre panel ?).
    Créer un panel correspondant à chaque élément de mon menu.

    : Comment faire pour qu'un panel s'affiche selon un clic sur l'élément du menu lui correspondant :

    J'espère avoir été assez clair

    Gôm

  4. #4
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Si tu avais regarder attentivement la doc, tu aurais vu que JFrame possède une methode setJmenuBar(maBarreDeMenu)
    Le contenu variable d'une JFrame se trouve dans le contentPane de celle-ci, tu dois alors mettre un CardLayout dessus, ensuite tu mets tes panels dans ce layout un peu comme un jeu de cartes, le CardLayout dispose de methode tels que: show et add.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  5. #5
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Citation Envoyé par afrikha
    Si tu avais regarder attentivement la doc, tu aurais vu que JFrame possède une methode setJmenuBar(maBarreDeMenu)
    Le contenu variable d'une JFrame se trouve dans le contentPane de celle-ci, tu dois alors mettre un CardLayout dessus, ensuite tu mets tes panels dans ce layout un peu comme un jeu de cartes, le CardLayout dispose de methode tels que: show et add.
    Merci de ce précieux renseignement, mais pourrais-je abuser et te demander comment faire pour utiliser ce fameux CardLayout.

    Ce que je souhaite faire c'est créer plusieurs "Container" et les intégrer dans un CardLayout, c'est bien ce qu'il est possible de faire ?

    Désolé d'être aussi peu compétent, mais j'espère bien progresser au plus vite !

    Gôm

    PS : Rassure toi, je continue à chercher de mon côté (encore heureux), mais malheureusement je ne suis pas très efficace

  6. #6
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    premier lien donné par google avec cardlayout comme mot clé...


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  7. #7
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Merci bien pour ton aide.

    Désolé d'être aussi "relou", mais bon on a pas toujours le temps de prendre son temps ! Surtout lorsque l'on est en 2ème année d'école d'ing et que l'on nous donne du taf la veille pour le lendemain !

    Je fais mon possible pour finir seul et je me permettrais de reposter si un problème survient (encore ...).


    Gôm

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Debutant] Interface Graphique
    Par wxwally dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 01/04/2008, 10h11
  2. [Debutant] Fixer la taille d'une interface graphique
    Par etiennegaloup dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 25/02/2006, 12h03
  3. [Debutant] se lancer dans l'interface graphique avec java?
    Par bambou dans le forum Interfaces Graphiques en Java
    Réponses: 17
    Dernier message: 14/12/2005, 00h45
  4. [debutant] Interface graphique
    Par Seb24 dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 15/09/2005, 16h13
  5. [debutant] Interface graphique & panneau de contro
    Par bornibus dans le forum GLUT
    Réponses: 3
    Dernier message: 23/01/2005, 09h46

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