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 :

Problème avec mon interface Graphique!


Sujet :

Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Problème avec mon interface Graphique!
    Bonjour,

    Je viens de commencer mon projet Java, et je trouve quelques difficultés!!
    Le projet que je dois réaliser est plutôt simple mais j'ai essayé un autre truc :
    Ma question : Comment je peux créer d'autre lignes comme celui la?
    bon! voilà le code source que j'ai fait.


    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
     
    import java.awt.event.*;
    import javax.swing.*;
     
    public class MultipleComboBoxes {
       private static final String[] DATA_A = {"plat 1", "plat 2", "plat 3", "plat 4"};
       private static final String[] DATA_B = {"Cola", "Fanta", "Spirit", "Orange"};
       private static final String[] DATA_C = {"Vodka", "Tikila", "XXX", "YYYY"};
     
       private JPanel mainPanel = new JPanel();
     
       // combo boxes declared as class level variables 
       private JComboBox comboA = new JComboBox(DATA_A);
       private JComboBox comboB = new JComboBox(DATA_B);
       private JComboBox comboC = new JComboBox(DATA_C);
     
       public MultipleComboBoxes() {
          JButton getSelectionBtn = new JButton("Get Selection");
     
          getSelectionBtn.addActionListener(new ActionListener() {
     
             public void actionPerformed(ActionEvent e) {
     
                // in the button's action listener, use the references to both 
                // combo boxes to get the selected items
                Object itemA = comboA.getSelectedItem();
                Object itemB = comboB.getSelectedItem();
                Object itemC = comboC.getSelectedItem();
     
                String optionString = "comboA: " + itemA.toString() + "\n" +
                                      "comboB: " + itemB.toString() + "\n" +
                                      "comboC: " + itemC.toString();
                JOptionPane.showMessageDialog(mainPanel, optionString);
             }
          });
     
          mainPanel.add(comboA);
          mainPanel.add(comboB);
          mainPanel.add(comboC);
          mainPanel.add(getSelectionBtn);
       }
     
       public JComponent getComponent() {
          return mainPanel;
       }
     
       private static void createAndShowUI() {
          JFrame frame = new JFrame("MultipleComboBoxes");
          frame.getContentPane().add(new MultipleComboBoxes().getComponent());
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.pack();
          frame.setLocationRelativeTo(null);
          frame.setVisible(true);
       }
     
       public static void main(String[] args) {
          java.awt.EventQueue.invokeLater(new Runnable() {
             public void run() {
                createAndShowUI();
             }
          });
       }
    }

  2. #2
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Salut,

    Il faut utiliser des layout. Voici la page des tutos de Sun sur les layout (en anglais).

    Sinon, sur le web, tu trouveras de nombreuses ressources sur le positionnement des composants en Swing.

    Bon courage, car quand on débute c'est assez rebutant, du moins dès que l'on souhaite faire des choses complexes, mais avec un peu de pratique, cela devient très facile.

  3. #3
    Membre régulier Avatar de freelibre
    Profil pro
    Inscrit en
    Février 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 68
    Points : 76
    Points
    76
    Par défaut BorderLayout
    Salut cherche du coté de BorderLayout en utilisant des Jpanel et des JtexField

    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
     
     
     
    import java.awt.*;
     import java.applet.Applet;
     
     public class buttonDir extends Applet {
       public void init() {
         setLayout(new BorderLayout());
         add(new Button("North"), BorderLayout.NORTH);
         add(new Button("South"), BorderLayout.SOUTH);
         add(new Button("East"), BorderLayout.EAST);
         add(new Button("West"), BorderLayout.WEST);
         add(new Button("Center"), BorderLayout.CENTER);
       }
     }

  4. #4
    Membre confirmé Avatar de javaNavCha
    Homme Profil pro
    EKG Group
    Inscrit en
    Juillet 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : EKG Group
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 311
    Points : 631
    Points
    631
    Par défaut
    Tu pourras gérer les composants par les layout
    http://download.oracle.com/javase/tu...ut/visual.html
    Tu pourras aussi annuler le layout du contenaire avec setLauout(null) puis positionner les composantes par setBounds(x,y,w,h)
    et surtout
    N'oublies jamais ton ami

  5. #5
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par javacha4 Voir le message
    Tu pourras aussi annuler le layout du contenaire avec setLauout(null) puis positionner les composantes par setBounds(x,y,w,h)
    C'est une très mauvaise pratique, à éviter comme la peste.

  6. #6
    Membre confirmé Avatar de javaNavCha
    Homme Profil pro
    EKG Group
    Inscrit en
    Juillet 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : EKG Group
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 311
    Points : 631
    Points
    631
    Par défaut
    Citation Envoyé par sinok Voir le message
    C'est une très mauvaise pratique, à éviter comme la peste.
    Excuses-moi, pourrais je savoir l'inconvénient de SetBounds? car je l'utilise souvent

  7. #7
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Ils t'ont déjà répondu par là : http://www.developpez.net/forums/d52...s/#post5644334

    Enfin, c'est surtout à Fraco qu'ils ont répondu, mais bon ...

  8. #8
    Membre actif Avatar de pendoRa
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 317
    Points : 278
    Points
    278
    Par défaut
    Le .setLayout(null) est très peu apprécié, c'est pas un hasard ! On peut dire aussi " a null Layout is Evil !"

    Pour les bilingues :

    " Problems with null layout that regular layouts don't have :

    Difficult to change, therefore hard (expensive) to maintain

    Moving, adding, removing, etc require a lot of recalculation. Relatively little work is required with regular layouts.

    Hard to get right in the first place

    Exactly how do you get these coordinates?

    System dependent

    The components have different sizes in different systems. I once wrote a Java program that I proudly showed to an important colleague, who unfortunately was using a different system. The layout looked really, really bad - gaps, overlaps. What happened? Null layout! It was one of my early programs and the last null layout I ever wrote.

    Java version dependent

    A little know fact is that between Java versions the rendering of components something changes slightly. It's not big, but if you have things carefully aligned in null layouts, they may not be in the next version of Java.

    User setting dependent

    Another little used feature is that the user can actually change Java's default settings for fonts etc. I once decided I wanted larger fonts on the high resolution screen I had. Of course, this completely breaks any null layouts altho regular layouts will adjust properly.

    Not resizeable

    It's not uncommon to have text fields/areas that the use might want to make larger by dragging the lower right corner of the window. Impossible with null layouts, automatic with regular layouts."

Discussions similaires

  1. Problème avec mon interface graphique Tkinter
    Par SamirIV dans le forum Tkinter
    Réponses: 0
    Dernier message: 09/05/2014, 21h08
  2. Problème avec l'Interface Graphique (mode Design)
    Par helico2 dans le forum C++/CLI
    Réponses: 1
    Dernier message: 20/05/2008, 21h10
  3. [XUBUNTU] Problème avec l'interface graphique de vnc
    Par sniperwolf79 dans le forum Ubuntu
    Réponses: 1
    Dernier message: 08/02/2007, 14h40
  4. énorme problème avec mon interface MFC
    Par cenedra dans le forum MFC
    Réponses: 23
    Dernier message: 17/07/2006, 09h36
  5. énorme problème avec mon interface MFC
    Par cenedra dans le forum C++
    Réponses: 2
    Dernier message: 12/07/2006, 09h54

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