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 :

Demande de conseil pour une interface graphique


Sujet :

Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 167
    Points : 186
    Points
    186
    Par défaut Demande de conseil pour une interface graphique
    Bonjour à tous.

    Je débute en développement graphique Java. Pour mes besoins personnel, et également de manière a apprendre le développement d'interface graphique en java, je développe une petite application aidant à l'apprentissage du vocabulaire en anglais

    Mon application se présente de la manière suivante. J'ai plusieurs onglets amenant a divers exercices. Dans certains onglets, il peut y avoir d'autre onglets. Tout cela forme une sorte de menu et de sous menu et jusque là, je n'ai pas eu trop de difficulté à le mettre en place.

    Dans un des onglets, a savoir un onglet d'administration, je souhaiterais placer un tableau a 2 colonnes et avec un nombre de ligne indéfinie. En gros ce tableau affiche une colonne en français et une colonne en anglais.

    Plutôt qu'un grand discours, je vous montre la méthode que j'ai écrite.

    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
     
    protected JPanel VocabularyAdministration()
    	{
    		JPanel panel = new JPanel();
    		GridBagConstraints constraints = new GridBagConstraints();
     
    		panel.setLayout(new GridBagLayout());
    		panel.setSize(new Dimension(500, 500));
     
    		//nombre de ligne inconnue
    		Object[][] values = new Object[][] {
    			{"en", "fr"},
    			{"en", "fr"},
    			{"en", "fr"},
    			{"en", "fr"},
    			{"en", "fr"}
    		};
    		String[] head = {"English", "French"};
     
    		JTable tableau = new JTable(values, head);
    		tableau.setFillsViewportHeight(true);
    		tableau.setSize(new Dimension(500, 500));
    		tableau.setRowHeight(15);
    		tableau.getColumnModel().getColumn(0).setPreferredWidth(300);
    		tableau.getColumnModel().getColumn(1).setPreferredWidth(300);
     
    		JScrollPane scroll = new JScrollPane(tableau);
     
    		constraints.gridx = 0;
    		constraints.gridy = 0;
    		constraints.gridheight = 1;
    		constraints.gridwidth = 1;
    		constraints.weightx = 1.;
    		constraints.weighty = 1.;
    		constraints.anchor = GridBagConstraints.FIRST_LINE_START;
    		panel.add(scroll, constraints);
     
    		return panel;
    	}
    Le problème avec ce code, c'est que je me retrouve avec un tout petit tableau coincé en haut à gauche de la fenêtre. Ce problème n'arrive qu'a partir du moment ou j'ajoute le JScrollPane. Le GridBagLayout est déjà en place car dans cette vue j'aurais d'autres éléments a placé et j'ai déjà assimilé l'utilisation du GridBagLayout.

    Concernant mon problème de tableau avec un scroll, j'ai fait pas mal de recherche sur developpez et sur google, mais sans succès (je n'affirme pas que mes recherches étaient bonnes non plus).

    Donc si une âme charitable pouvez m'aider a corriger cette erreur, mais surtout, ce qui m’intéresse le plus c'est comprendre mon erreur. Donc si quelqu'un à une solution, je suis preneur également d'une petite explication.

    Si vous avez besoin de plus de code ou de plus de détail, j'essayerai d'y répondre le plus clairement possible.

    D'avance merci pour votre aide.

    Coco.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 107
    Points : 120
    Points
    120
    Par défaut
    Il te manque certainement le remplissage interne qui n'est pas renseigné dans ton exemple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                    constraints.ipadx = 500;
                    constraints.ipady = 150;
    ipadx = remplissage interne en x
    ipady = remplissage interne en y

    Ce qui t'envitera d'avoir un tout petit rectangle en guise de tableau

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 167
    Points : 186
    Points
    186
    Par défaut
    Et bien écoute je te remercie Rhadamenthys.

    J'ai du mal lire la doc. Je pensais que ses paramètres n'étaient pas obligatoire. Je me suis trompé.

    En tout cas merci beaucoup. Tu m'enlèves un problème (qui plus est vraiment idiot).

    Coco.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/11/2011, 12h25
  2. Conseil pour une interface graphique
    Par jeromeN95 dans le forum Qt
    Réponses: 3
    Dernier message: 25/07/2010, 17h32
  3. Quelle bibliothèque pour une interface graphique C++
    Par peace_info dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 16/03/2007, 14h42
  4. [2D] Mini-projet : question pour une interface graphique
    Par kitsune dans le forum Développement 2D, 3D et Jeux
    Réponses: 15
    Dernier message: 10/03/2006, 14h59
  5. Composants à utiliser pour une interface graphique Java
    Par nicolas.pied dans le forum Composants
    Réponses: 4
    Dernier message: 28/11/2005, 20h27

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