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 :

Probleme de positionnement Java (Swing)


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Haïti

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

    Informations forums :
    Inscription : Février 2014
    Messages : 6
    Par défaut Probleme de positionnement Java (Swing)
    Bonsoir, j'aimerais avoir un peu d'aide s'il vous plait, dans une fenêtre j'aimerais positionner deux boutons, une a gauche de la fenetre et l'autre a droite, j'utilise le FlowLayout, mes deux boutons sont restées au centre, j'aimerais savoir comment gérer ce problème: voici le 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
    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 javax.swing.*;
    import java.awt.*;
    public class TestEgzamen extends JFrame
    {
        private JPanel pane1, pane2, paneTotal;
        private JLabel codeM,typeM, date, etat, model, capacD, capacMemoir, vitesP;
        private JTextField codeChamp, dateChamp, etatChamp, modeleChamp, capaciteDisqueChamp, 
        capaciteMemoireChamp, vitesseProcessChamp;
        private JComboBox typeChamp;
        private JButton Sauv, Annul;
     
     
     
        public TestEgzamen()
        {
           setSize(600, 350);
           setTitle("Test Egzamen");
           setDefaultCloseOperation(EXIT_ON_CLOSE);
           setLocationRelativeTo(null);
           //setResizable(false);
     
           ////////////////
     
           codeM=new JLabel("Code Materiel");
           typeM=new JLabel("Type Materiel");
     
           date=new JLabel("Date Enregistrement Materiel");
           etat=new JLabel("Etat");
     
           model=new JLabel("Modele");
           capacD=new JLabel("Capacite Disque");
     
           capacMemoir=new JLabel("Capacite Memoire");
           vitesP=new JLabel("Vitesse Processeur");
     
           ///////////////////////////////////////////
     
           codeChamp=new JTextField(5);
           dateChamp=new JTextField("");
           etatChamp=new JTextField("");
           modeleChamp=new JTextField("");
     
           capaciteDisqueChamp=new JTextField("");
           capaciteMemoireChamp=new JTextField("");
           vitesseProcessChamp=new JTextField("");
     
           ////////////////////////////////////////////
     
           typeChamp = new JComboBox();
           typeChamp.addItem("Portable");
           typeChamp.addItem("Desktop");
     
           Sauv = new JButton("Sauver"); 
           Annul= new JButton("Annuler"); 
     
            pane1 = new JPanel();
            pane1.setLayout(new GridLayout(4 , 4, 20, 20));
     
     
            pane1.add(codeM);
            pane1.add(codeChamp);
     
     
            pane1.add(typeM);
            pane1.add(typeChamp);
     
            pane1.add(date);
            pane1.add(dateChamp);
     
            pane1.add( etat);
            pane1.add(etatChamp);
     
            pane1.add(model);
            pane1.add(modeleChamp);
     
            pane1.add(capacD);
            pane1.add(capaciteDisqueChamp);
     
            pane1.add(capacMemoir);
            pane1.add(capaciteMemoireChamp);
     
            pane1.add(vitesP);
            pane1.add(vitesseProcessChamp);
            //getContentPane().add(pane1);
            //////////
     
            pane2= new JPanel();
            pane2.setLayout(new FlowLayout());
     
     
     
            pane2.add(Sauv); 
            pane2.add(Annul);
     
            paneTotal = new JPanel();
            paneTotal.setLayout(new GridLayout(2, 1, 60, 60));
     
            paneTotal.add(pane1);
            paneTotal.add(pane2);
            getContentPane().add(paneTotal);
            //pack();
            setVisible(true);
     
        }
       public static void main(String[]args){
            new TestEgzamen();
        }
     
        }

  2. #2
    Membre éprouvé
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2014
    Messages : 65
    Par défaut
    Personnellement je défini la valeur du Jpanel comme étant null, et je place les éléments en utilisant un setBounds.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    setLayout(null);
    element.setBounds(int x,int y,int width,int height)
    C'est simple d'utilisation mais ça demande pas mal de boulot comparé à l'utilisation du windowsbuilder de NetBean, ou celui d'eclipse qui te permettent de positionner approximativement tes éléments.
    Je ne dis pas que c'est la meilleure solution, si il y a mieux je suis également preneur, mais disons que c'est une valeur sûre.

  3. #3
    Membre éclairé Avatar de nchal
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 512
    Par défaut
    Bonjour,

    Suivant ton besoin, je ne te conseille pas d'utiliser les setBound. Si jamais tu change la taille de ta fenêtre, il faut tout recalculer et si c'est l'utilisateur qui change la taille, bah c'est moche.
    Pour ton histoire de bouton, je les mettrais dans un border layout avec un bouton en EAST et l'autre en WEST (Javadoc)

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Haïti

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

    Informations forums :
    Inscription : Février 2014
    Messages : 6
    Par défaut Probleme de positionnement Java (Swing)
    Merci pour vos réponses les amis. nchal avec le Border Layout East, West, le bouton est de trop grande taille, tu sais comment je peux le redimensionner?

  5. #5
    Membre éclairé Avatar de nchal
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 512
    Par défaut
    Généralement, le manager layout de ta jframe en border layout. Tu créés un panel dans la partie SOUTH de ce panel et dans le nouveau panel tu mets tes deux boutons en EAST et WEST. Je pense que c'est pas mal.
    Comme j'ai du mal à exprimer l'idée, voici du pseudo-code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    this.setManagerLayout(new BorderLayout());
    JPanel buttonPanel = new JPanel(new BorderLayout);
    buttonPanel.add(rightButton, EAST);
    buttonPanel.add(leftButtton, WEST);
    this.add(buttonPanel, SOUTH);

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Haïti

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

    Informations forums :
    Inscription : Février 2014
    Messages : 6
    Par défaut Probleme de positionnement Java (Swing)
    Nom : java-problem.jpg
Affichages : 624
Taille : 22,3 Ko



    voici ce que cela donne avec le Borbder Layout, j'aimerais avoir des boutons plus petit.

Discussions similaires

  1. Probleme de ToolBar en java swing
    Par Drogba11 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 16/12/2008, 17h11
  2. probleme java swing MYSQL
    Par salma_tn dans le forum JDBC
    Réponses: 2
    Dernier message: 27/08/2008, 13h31
  3. probleme de fermeture dune page en java swing
    Par mora092 dans le forum AWT/Swing
    Réponses: 18
    Dernier message: 13/09/2007, 17h03
  4. [Java-Swing][HTML] Page html à inclure dans application Java
    Par terminagroo dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 04/07/2005, 10h04
  5. Problème d'installation java
    Par mickey hollywood dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 23/03/2005, 11h01

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