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 :

Problème avec BorderLayout()


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de Glauben
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 115
    Par défaut Problème avec BorderLayout()
    Bonjour,

    J'ai un problème avec l'affichage des composants dans une fenêtre, j'ai essayer et j'ai essayer mais toujours ne marche pas.

    Voila le code source qui n'affiche pas correctement les composants :

    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
     
    JLabel utilisateurConnecter = new JLabel();
        JLabel lRequeteSQL = new JLabel("Requete SQL");
        JButton bExecuterLaRequete = new JButton("Exécuter la requête SQL");
        JButton bSansLesVMs = new JButton("Exécuter la requête SQL sans las VMs");
        JButton bDeconnexion = new JButton("Déconnexion");
        JTextField tRequeteSQL = new JTextField();
        JPanel panel = new JPanel();
        JPanel top = new JPanel();
     
        public ExecutionDesRequetes(String r){
            this.setTitle("Requete SQL");
            this.setSize(400, 200);
            this.setLocationRelativeTo(null);
            this.setResizable(false);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            tRequeteSQL.setPreferredSize(new Dimension(350, 30));
            panel.setBackground(Color.white);
            panel.setLayout(new BorderLayout());
            utilisateurConnecter.setFont(new Font("Times-Roman", Font.BOLD,12));
            utilisateurConnecter.setText("Connecté en tant que " + r + " @orcl");
            bExecuterLaRequete.addActionListener(this);
            bSansLesVMs.addActionListener(this);
            bDeconnexion.addActionListener(this);
            top.add(utilisateurConnecter,BorderLayout.NORTH);
            top.add(lRequeteSQL, BorderLayout.NORTH);
            top.add(tRequeteSQL, BorderLayout.CENTER);
            top.add(bExecuterLaRequete, BorderLayout.CENTER);
            top.add(bSansLesVMs, BorderLayout.CENTER);
            top.add(bDeconnexion, BorderLayout.SOUTH);
            top.setBackground(Color.white);
            this.setContentPane(top);
        }
    veuillez trouver ci-joint comment je veux les afficher.

    Merci infiniment.
    Images attachées Images attachées  

  2. #2
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 341
    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 341
    Par défaut
    Bonjour,

    il faut décomposer en plusieurs panels votre espace d'affichage.
    D'après la miniature, on distingue 3 zones:
    * En haut, une zone dont l'affichage de l'élément se fait sur la gauche
    * Au centre, une zone dont les éléments sont centrés
    * En bas, une zone dont l'affichage de l'élément se fait à droite.

    Peut faudrait-il créer 3 JPanel:
    * panelHaut, qui serait mis en BorderLayout.NORTH; celui-ci contiendrait un élément qui serait mis en BorderLayout.WEST
    * panelCentre, contenant des élément en vertical...
    * panelBas, contenant un élément en BorderLayout.EAST

    Enfin c'est difficile de donner une solution exacte à première vue, il faut dessiner d'abord l'agencement des composants sur une feuille de papier. Ceci permet de visualiser les différents JPanel à installer, et quel type de Layout employer dans chacun d'eux.
    Bref: il faut morceler l'espace d'affichage...

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Personellement j'essaierais ceci:

    Vertical Layout:
    premier élément: JPanel avec un flowlayout et un label
    ensuite les éléments tels quel
    dernier élément : JPanel avec gridlayout de 3 colonnes, le JButton dans la dernière colonne.

  4. #4
    Membre très actif Avatar de Glauben
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 115
    Par défaut


    Merci rtg57 et tchize_.

    Je vais essayer.

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

Discussions similaires

  1. Problème d'affichage avec BorderLayout
    Par scoutiste dans le forum Débuter
    Réponses: 0
    Dernier message: 16/08/2013, 09h48
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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