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 :

Développement GUI (noob)


Sujet :

AWT/Swing Java

  1. #1
    En attente de confirmation mail
    Inscrit en
    Avril 2004
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 24
    Points : 13
    Points
    13
    Par défaut Développement GUI (noob)
    Bonsoir

    je suis actuellement en train d'essayer de développer un gui en java, mais je suis un peu perdu... et j'ai donc quelques questions, si une âme charitale pouvait m'aider, ca serait sympa

    1. je voudrais savoir s'il est possible d'empécher le redimensionnement d'un jSplitPane, je n'ai rien vu qui s'y apparenter dans les méthodes dispo

    2. Quelles sont les différences entre les JDesktopPane et les JInternalFrame ? Lequel faut-il utiliser si on veut pouvoir ouvrir plusieurs documents en meme temps dans son application ?

    3. J'ai essayé d'utiliser des JScrollPane avec un bean fait par moi (héritant de JPanel), mais les barres ne s'affichent pas et les tuto et tout ce que j'ai vu sur Internet n'indiquer pas autre chose à faire qu'initialiser le constructeur, mais bon ça marche pôs chez moi

    4. A propos des boites de dialogues, comment faire pour la rendre bloquante (ie empecher une action dans le prog principal tant qu'on a pas répondu à la question) ? Comment faire pour retourner la valeur ? (avec des listeners ??)


    Voila (pour l'instant ).
    Merci de votre aide.

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Je peux répondre à la 4ème question : il suffit de déclarer ton dialogue modal via la méthode "setModal(true)".

  3. #3
    En attente de confirmation mail
    Inscrit en
    Avril 2004
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    oki merci c'est sympa...et pour les autres questions ? :

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    1. Je ne sais pas comment empêcher son redimensionnement.
    Je me demande même s'il y a moyen. Car le but d'un split pane est justement de pouvoir resizer deux parties.
    Sinon setDividerLocation permet de définir la position de la barre qui le divise.


    2. Le JDesktopPane contient des JInternalFrame.
    Le Desktop, le bureau est le conteneur des fenêtres de type JInternalFrame.


    3. Difficile à dire sans autres précisions.


    4. Soit par setModal(true); comme l'a dit iohack, soit directement dans le constructeur de ta JDialog.
    Pour retourner la valeur, tu peux créer par exemple une petite méthode getValeur() dans ta JDialog.
    Ensuite, après avoir instancié ta boite, tu récupères la valeur.

    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
     
    public class Boiboite extends JDialog {
     
          public Boiboite (JFrame parent, String titre) {
                super(parent, titre, true);
                ....
          }
     
          ...
     
           public Truc getValeur () {
               return .... ;
           }
    }
     
     
    Boiboite boite = new Boiboite (this, "Test");
    boite.setVisible(true);
    Truc truc = boite.getValeur();
    boite.dispose();

  5. #5
    En attente de confirmation mail
    Inscrit en
    Avril 2004
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    merci pour les réponses

    Donc si j'ai bien compris pour la dernière question, quand on cliquera sur OK (ou autre), je pourrais modifier un paramètre quelconque et dans la foulée faire this.display(false). Puis dans le main, le getVal récupère ce qu'il faut et détruit la fenetre. Peut-on faire directement this.dispose() dans la méthode getVal de la boiboite dans le code que Tentative a écrit ?

    Pour le 3ème point, désolé, le code est un peu long. En résumé, j'ai un Panel qui contient différents widgets, dont un widget qui hérite de JPanel et que je voudrais pouvoir scroller... ca marche avec une zone de texte, mais pas avec un panel...je vois pas les barres


    PS : j'utilise VE dans Eclipse pour faire ca

    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
    package gui.bdd;
     
     
    import javax.swing.JPanel;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
     
    public class ChoixModelebean extends JFrame {
     
        private JPanel jContentPane = null;
        private RechercheModeleBean rechercheModeleBean = null;
        private JScrollPane jScrollPane = null;
        private ChoixAllModele choixAllModele = null;
        /**
         * This is the default constructor
         */
        public ChoixModelebean() {
            super();
            initialize();
        }
     
        /**
         * This method initializes this
         *
         * @return void
         */
        private void initialize() {
            this.setSize(950, 484);
            this.setContentPane(getJContentPane());
            this.setTitle("Choississez les modèles");
        }
     
        /**
         * This method initializes jContentPane
         *
         * @return javax.swing.JPanel
         */
        private JPanel getJContentPane() {
            if (jContentPane == null) {
                jContentPane = new JPanel();
                jContentPane.setLayout(null);  // Generated
                jContentPane.setPreferredSize(new java.awt.Dimension(5,4));
                jContentPane.add(getRechercheModeleBean(), null);
                jContentPane.add(getJScrollPane(), null);
            }
            return jContentPane;
        }
     
        /**
         * This method initializes rechercheModeleBean
         *
         * @return gui.RechercheModeleBean
         */
        private RechercheModeleBean getRechercheModeleBean() {
            if (rechercheModeleBean == null) {
                try {
                    rechercheModeleBean = new RechercheModeleBean();
                    rechercheModeleBean.setBounds(new java.awt.Rectangle(10,10,910,30));  
                } catch (java.lang.Throwable e) {
                    // TODO: Something
                }
            }
            return rechercheModeleBean;
        }
     
        /**
         * This method initializes jScrollPane
         *
         * @return javax.swing.JScrollPane
         */
        private JScrollPane getJScrollPane() {
            if (jScrollPane == null) {
                try {
                    jScrollPane = new JScrollPane();
                    jScrollPane.setVerticalScrollBarPolicy(javax.swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);  
                    jScrollPane.setViewportBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));  
                    jScrollPane.setLocation(new java.awt.Point(9,50)); 
                    jScrollPane.setSize(new java.awt.Dimension(500,200));
                    jScrollPane.setViewportView(getChoixAllModele());  
                    jScrollPane.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
                } catch (java.lang.Throwable e) {
                    // TODO: Something
                }
            }
            return jScrollPane;
        }
     
        /**
         * This method initializes choixAllModele
         *
         * @return gui.ChoixAllModele
         */
        private ChoixAllModele getChoixAllModele() {
            if (choixAllModele == null) {
                try {
                    choixAllModele = new ChoixAllModele();
                } catch (java.lang.Throwable e) {
                    // TODO: Something
                }
            }
            return choixAllModele;
        }
     
    }  //  @jve:decl-index=0:visual-constraint="10,10"

    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
    package gui.bdd;
     
    import javax.swing.JPanel;
     
    public class ChoixAllModele extends JPanel {
     
        private ChoixUnModeleBean choixUnModeleBean = null;
        private ChoixUnModeleBean choixUnModeleBean1 = null;
     
        /**
         * This is the default constructor
         */
        public ChoixAllModele() {
            super();
            initialize();
        }
     
        /**
         * This method initializes this
         *
         * @return void
         */
        private void initialize() {
            this.setLayout(null);  // Generated
            this.setSize(910, 500);
            this.add(getChoixUnModeleBean(), null);  
            this.add(getChoixUnModeleBean1(), null); 
        }
     
        /**
         * This method initializes choixUnModeleBean
         *
         * @return gui.ChoixUnModeleBean
         */
        private ChoixUnModeleBean getChoixUnModeleBean() {
            if (choixUnModeleBean == null) {
                try {
                    choixUnModeleBean = new ChoixUnModeleBean();
                    choixUnModeleBean.setLocation(new java.awt.Point(0,0)); 
                    choixUnModeleBean.setSize(new java.awt.Dimension(125,185)); 
                } catch (java.lang.Throwable e) {
                    // TODO: Something
                }
            }
            return choixUnModeleBean;
        }
     
        /**
         * This method initializes choixUnModeleBean1
         *
         * @return gui.ChoixUnModeleBean
         */
        private ChoixUnModeleBean getChoixUnModeleBean1() {
            if (choixUnModeleBean1 == null) {
                try {
                    choixUnModeleBean1 = new ChoixUnModeleBean();
                    choixUnModeleBean1.setLocation(new java.awt.Point(130,0));  
                    choixUnModeleBean1.setSize(new java.awt.Dimension(125,185));
                } catch (java.lang.Throwable e) {
                    // TODO: Something
                }
            }
            return choixUnModeleBean1;
        }
    }
    merci à tous pour votre précieuse aide

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    4. Tout à fait.

    Quand on clique sur le bouton, tu affectes les nouvelles valeurs aux variables que tu veux pouvoir récupérer.
    Ensuite, tu fais un this.setVisible(false); ce qui va continuer le cours de la méthode ayant instancié la boite.
    Enfin, tu récupères les valeurs à partir de getter(s) et tu la détruits si tu n'en a plus besoin.

    Tu pourrais appeller this.dispose(); dans ton getter... mais c'est loin d'être propre. Le fait de détruire la fenêtre n'a rien à voir avec ton getter.
    Un getter renvoie une valeur rien d'autre.

    3. J'ai vraiment plus le courage pour regarder ca.

  7. #7
    En attente de confirmation mail
    Inscrit en
    Avril 2004
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    oki
    merci pour tout ceux qui m'ont aidé (Tentative notamment)

Discussions similaires

  1. Développer son GUI
    Par LapinGarou dans le forum Développement 2D, 3D et Jeux
    Réponses: 9
    Dernier message: 04/12/2007, 15h35
  2. Développer un Gui avec Netbeans
    Par mounap dans le forum NetBeans
    Réponses: 4
    Dernier message: 31/10/2006, 12h09
  3. Réponses: 2
    Dernier message: 28/11/2005, 13h20
  4. Développement GUI
    Par WasF/ dans le forum C++
    Réponses: 9
    Dernier message: 22/09/2005, 15h18

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