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 :

Placer un composant à une place bien précise


Sujet :

AWT/Swing Java

  1. #1
    Membre averti Avatar de BakaOnigiri
    Inscrit en
    Avril 2002
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 366
    Points : 437
    Points
    437
    Par défaut Placer un composant à une place bien précise
    Bonjour,

    voilà j'ai un petit problème de design (j'utilise netbeans), en fait j'ai un jPanel qui contient plusieurs zone text, c'est zone doivent changer si je change la valeur d'un spinner, mais le problème c'est comment placer le spinner, en effet voilà ce que je voudrais avoir :



    Et je part de là :



    Comment faire (quel que soit le layout utilisé) pour que le panel reste à taille auto en horizontal/vertical, mais que le spinner soit toujours en haut à droite par dessus ?


    Merci d'avance.

  2. #2
    Membre averti Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Points : 414
    Points
    414
    Par défaut
    tu pourrais éventuellement t'en sortir en ajoutant ton spinner dans un JLayeredPane que tu ajouterais à ton panneau principal et agir sur son positionnement.
    auteur de Awl (http://awl-wizard.sourceforge.net), librairie de développement d'assistant en Java.
    auteur de Blackdog (http://www.blackdog-project.org), lecteur/gestionnaire audio en Java.

  3. #3
    Membre averti Avatar de BakaOnigiri
    Inscrit en
    Avril 2002
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 366
    Points : 437
    Points
    437
    Par défaut
    Bon c'est bon, j'ai finalement créé un composant qui étends un jpanel.

    Pour info, des fois que çà interesserais qqun :

    - le code de mon composant

    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
    import java.awt.Graphics;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
    public class NewBeanForm extends JPanel
    {    
        private boolean initialized = false;
     
        /** Creates new form BeanForm */
        public NewBeanForm()
        {
            initialized = false;
            initComponents();
            initialized = true;
        }
     
        @Override
        protected void paintComponent(Graphics g)
        {
            super.paintComponent(g);
            jSpinner_Selector.setLocation((jPanel_Border.getWidth() - jSpinner_Selector.getWidth()) - 10, 8);
        }
     
        void addPanel(plop dd)
        {
            jPanel_Content.add(dd, java.awt.BorderLayout.CENTER);
        }
     
     
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
            java.awt.GridBagConstraints gridBagConstraints;
     
            jSpinner_Selector = new javax.swing.JSpinner();
            jPanel_Border = new javax.swing.JPanel();
            jPanel_Content = new javax.swing.JPanel();
     
            setLayout(new java.awt.GridBagLayout());
     
            jSpinner_Selector.setModel(new javax.swing.SpinnerNumberModel(0, -10, 0, 1));
            gridBagConstraints = new java.awt.GridBagConstraints();
            gridBagConstraints.gridx = 0;
            gridBagConstraints.gridy = 0;
            add(jSpinner_Selector, gridBagConstraints);
     
            jPanel_Border.setBorder(javax.swing.BorderFactory.createTitledBorder("llll"));
            jPanel_Border.setLayout(new java.awt.GridBagLayout());
     
            jPanel_Content.setLayout(new java.awt.BorderLayout());
            gridBagConstraints = new java.awt.GridBagConstraints();
            gridBagConstraints.gridx = 0;
            gridBagConstraints.gridy = 0;
            gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
            gridBagConstraints.weightx = 100.0;
            gridBagConstraints.weighty = 100.0;
            gridBagConstraints.insets = new java.awt.Insets(8, 0, 0, 0);
            jPanel_Border.add(jPanel_Content, gridBagConstraints);
     
            gridBagConstraints = new java.awt.GridBagConstraints();
            gridBagConstraints.gridx = 0;
            gridBagConstraints.gridy = 0;
            gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
            gridBagConstraints.weightx = 100.0;
            gridBagConstraints.weighty = 100.0;
            gridBagConstraints.insets = new java.awt.Insets(14, 0, 0, 0);
            add(jPanel_Border, gridBagConstraints);
        }// </editor-fold>                        
     
     
        // Variables declaration - do not modify                     
        private javax.swing.JPanel jPanel_Border;
        private javax.swing.JPanel jPanel_Content;
        private javax.swing.JSpinner jSpinner_Selector;
        // End of variables declaration                   
    }
    Dans une autre classe, je pose mes composants, et j'utilise le tout dans la classe qui dessinera tout l'interface :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    newBeanForm1.addPanel(new plop());
    (plop() étant la classe jpanel qui contient tout mes composants.)

    Je sais que c'est loin d'être le plus simple, mais çà fonctionne plutôt bien, et c'est plus simple que le jlayeredpane.

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

Discussions similaires

  1. [batch] supprimer fichier avec une date bien précise
    Par remi82 dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 14/10/2008, 11h52
  2. Sélectionner une extension bien précise?!
    Par Valfdum dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/05/2008, 14h16
  3. ouverture d'une feuille bien précise
    Par léclaireur dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/05/2007, 11h49
  4. [VBA] pointer sur une feuille bien précise via inputbox
    Par beegees dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/01/2006, 19h37
  5. [DOM] Créer un fichier XML sous une forme bien précise
    Par LaseLiep dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 09/06/2005, 18h05

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