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

 Java Discussion :

Créer une fenêtre


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 138
    Par défaut Créer une fenêtre
    Bonjour,

    Je cherche à créer une fenêtre de cette forme :



    Voici mon code
    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
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JButton;
     
            public class Fenetre extends JFrame {
                private JPanel pan = new JPanel();
                private JButton bouton = new JButton("Mon bouton");
     
            public Fenetre(){
     
                this.setTitle("Application de Programmation Dynamique : "); 
                this.setSize(800, 600);
                this.setResizable(false); //On interdit la redimensionnement de la fenêtre
                this.setLocationRelativeTo(null);   
                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);                         
                this.setVisible(true);
            }
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        public class Test {
            public static void main(String[] args){
     
                Fenetre fen = new Fenetre();
            }       
        }
    Je n'arrive pas à faire 4 fenêtre dans une fenêtre.

    Quelqu'un saurait-il m'indiquer comment faire ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Si tu avais un peu regardé les liens que je t'ai mis dans le post de ta discussion de cette nuit, tu aurais vu qu'il fallait :

    • Mettre un JPanel dans le contentPane de la JFrame
    • Mettre un GridLayout sur ce panel
    • Ajouter 4 JPanel dans ce panel
    • ...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Bonjour,

    vous devriez découper votre fenêtre principale en plusieurs JPanel, qui eux-mêmes, contiendraient vos JPanel que vous avez dessinés.

    Par exemple, on peut imaginer:
    - un JPanel appelé jPanoGauche, contenant jPanoInitVariables, et jPanoResult1,
    - Un second JPanel appelé jPanoDroit, contenant jPanoInitTablo, et jPanoResult2.

    En utilisant un LayoutManager approprié, la fenêtre serait organisée toute seule.
    De plus, cela vous permettrait de redonner la possibilité de dimensionner la fenêtre par l'utilisateur, les éléments se réorganiseraient tout seul.

    Voyez ici pour l'organisation des composants: http://java.developpez.com/faq/gui/?...nner_composant

  4. #4
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 138
    Par défaut
    joel.drigo Merci encore pour me répondre

    j'ai vu Création interface graphique avec Swing, et j'ai trouvé Mettre un JPanel dans le contentPane de la JFrame, et Mettre un GridLayout sur ce panel.
    par contre je n'ai pas trouvé ajouter 4 JPanel dans ce panel.

    rtg57 Merci pour me répondre, je vais essayer de le faire et voir si la résultat est bien

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Voici un exemple :

    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
    public class Exemple4Panel extends JPanel {
     
    	private static final int MARGIN = 10;
    	private static final long serialVersionUID = 1L;
     
    	public Exemple4Panel() {
     
    		setBorder(BorderFactory.createEmptyBorder(MARGIN,MARGIN,MARGIN,MARGIN)); // une petite bordure pour ne pas être collé au bord de la fenêtre
     
    		setLayout(new GridLayout(2,2,MARGIN,MARGIN)); // grille 2 x 2
     
                    // ajout des 4 panels
    		add(creerPanelHautGauche());
    		add(creerPanelHautDroite());
    		add(creerPanelBasGauche());
    		add(creerPanelBasDroite());
     
    	} 
     
    	private JPanel creerPanelHautGauche() {
    		JPanel panel = creerPanelAvecTitre("Initialisation des variables :");
    		panel.add(creerInitVarPanel(), BorderLayout.CENTER);
    		return panel;
    	}
     
    	private JPanel creerInitVarPanel() {
    		JPanel panel = new JPanel();
                    // ici mettre le code pour créer le panel Initialisation des variables...
    		return panel;
    	}
     
    	private JPanel creerPanelHautDroite() {
    		JPanel panel = creerPanelAvecTitre("Initialisation des valeurs de tableau :");
                    // ...
    		return panel;
    	}
     
    	private JPanel creerPanelBasGauche() {
    		JPanel panel = creerPanelAvecTitre("Résultat 1 :");
                    // ...
    		return panel;
    	}
     
    	private JPanel creerPanelBasDroite() {
    		JPanel panel = creerPanelAvecTitre("Résultat 2 :");
                    // ...
    		return panel;
    	}
     
    	private JPanel creerPanelAvecTitre(String titre) {
    		JPanel panel = new JPanel();
    		panel.setBorder(BorderFactory.createLineBorder(Color.BLACK)); // un cadre autour
     
    		panel.setLayout(new BorderLayout(MARGIN, MARGIN)); 
     
                    // création du titre du panel
    		JLabel titreLabel = new JLabel(titre);
    		titreLabel.setBorder(BorderFactory.createEmptyBorder(MARGIN, MARGIN, MARGIN, MARGIN));
    		panel.add(titreLabel, BorderLayout.NORTH); // texte en haut du panel
    		return panel;
    	}
     
    	public static void main(String[] args) {
     
    		final javax.swing.JFrame frame = new javax.swing.JFrame("Exemple");
    		frame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
     
    		JPanel panelPrincipal = new Exemple4Panel();
    		frame.getContentPane().add( panelPrincipal );
     
    		frame.setSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize());
    		frame.setLocationRelativeTo(null);
    		frame.setVisible(true);
     
    	}
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 138
    Par défaut
    merciii ça marche tres bien, j'ai question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private JPanel creerPanelHautGauche() {
    					JPanel panel = creerPanelAvecTitre("Initialisation des variables :");
    					panel.add(creerInitVarPanel(), BorderLayout.CENTER);
    					return panel;
    				}
    à quoi sert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    panel.add(creerInitVarPanel(), BorderLayout.CENTER);
    et ma deuxieme question

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private JPanel creerInitVarPanel() {
    					JPanel panel = new JPanel();
    			                // ici mettre le code pour créer le panel Initialisation des variables...
    					return panel;
    				}
    c'est quoi l'objectif de cette partie ????

    Merci pour me donner un peux de votre temps, et svp tu peux me donner le lien de ce cours ou de cette partie de programme
    merciii

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par nir63 Voir le message
    à quoi sert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    panel.add(creerInitVarPanel(), BorderLayout.CENTER);
    A appeler la méthode pour laquelle tu poses la seconde question ( c'est à dire à créer un panel et à le positionner au centre du panel dans lequel on le met) :

    Citation Envoyé par nir63 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private JPanel creerInitVarPanel() {
    					JPanel panel = new JPanel();
    			                // ici mettre le code pour créer le panel Initialisation des variables...
    					return panel;
    				}

    c'est quoi l'objectif de cette partie ????
    A remplir le panel concernant l'initialisation des variables des composants que tu veux y mettre. Je suppose que tu veux mettre des composants d'interface ici : des champs de saisie, des boutons, des listes (ou tables), des combos, que sais-je...

    Citation Envoyé par nir63 Voir le message
    tu peux me donner le lien de ce cours ou de cette partie de programme
    Je t'ai déjà donné des liens qui expliquent ça. Une interface graphique c'est un arbre de composants, dans lequel on met des composants. Projettes ce que j'ai fait pour mettre 4 panels dans un panel principal. Pour chaque de ces 4 panels, tu vas y mettre d'autres composants, selon ton besoin, peut être les découper en d'autres sous-panels, mettre des composants pour afficher des infos, ou en saisir, ou faire des actions (lancer un calcul par exemple).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Créer une fenêtre sans bords
    Par N3odyme dans le forum C++
    Réponses: 2
    Dernier message: 06/07/2006, 00h27
  2. [C# 2.0] Créer une fenêtre non redimensionnable
    Par sqlnoob dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/06/2006, 11h22
  3. Réponses: 2
    Dernier message: 08/06/2006, 15h49
  4. Créer une fenêtre
    Par RaygKross dans le forum Qt
    Réponses: 12
    Dernier message: 08/02/2006, 09h34
  5. Créer une fenêtre flottante qui ne peut avoir le focus
    Par BestofMac dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 10h46

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