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 :

Ajouter des composants à un JXPanel


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 113
    Par défaut Ajouter des composants à un JXPanel
    Salut,



    j'ai apprecie ce qu'elle offre la classe Swingx comme modele des interfaces graphiques,

    j'ai commencé avec la categorie des panneaux, c'est à dire JXPanel, alors j'ai créé JFrame

    et je l'ai ajouté un JXPanel et ça a bien fonctionner, mais lorsque j'ai voulu ajouter un

    bouton au JXPanel en changeant le layout à null, le titre de la fenetre devient invisible.

    voici le programme qui n'a pas marché:

    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
    import java.awt.BorderLayout;
     
    import java.awt.FlowLayout;
     
     
     
    import javax.swing.JButton;
     
    import javax.swing.JFrame;
     
     
     
    import org.jdesktop.swingx.JXPanel;
     
    import org.jdesktop.swingx.JXTitledPanel;
     
    import org.jdesktop.swingx.painter.CompoundPainter;
     
    import org.jdesktop.swingx.painter.GlossPainter;
     
    import org.jdesktop.swingx.painter.MattePainter;
     
    import org.jdesktop.swingx.painter.Painter;
     
    import org.jdesktop.swingx.painter.PinstripePainter;
     
     
     
     
     
    public class y extends JFrame{
     
    	JXPanel p;
     
    	JButton b;
     
    public y(){
     
    	p=new  JXTitledPanel("gggggggg");
     
    	p.setLayout(null);
     
    	b=new JButton("Parcourir");
     
    	b.setBounds(10,10,120,30);
     
    	p.add(b);
     
    	getContentPane().add(p);
     
    	setDefaultCloseOperation(EXIT_ON_CLOSE);
     
    	setSize(570,270);
     
    	setLocation(300,150);
     
    	setVisible(true);
     
    }
     
     
     
    	/**
     
             * @param args
     
             */
     
    	public static void main(String[] args) {
     
    		// TODO Auto-generated method stub
     
    		new y();
     
     
     
    	}
     
     
     
    }
    Mon souci est comment je peuX ajouter des composants à un JXPanel en utilisant le layout null



    Merci

  2. #2
    Membre émérite
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Par défaut
    Bonjour,

    Je ne connais pas spécialement les JXPanel, mais dans un JPanel, si tu as un Layout à null, tu dois placer les composants "à la mimine" via la méthode setBounds (par exemple). Sinon, tes composants ont une taille de (0,0) et sont donc invisibles.

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Oublie le NullLayout, c'est foireux, pas évolutif pour trois sous, ça ne se redimensionne pas lorsque la fenêtre se redimensionne, et enplus c'est une galère sans nom quand les JScrollPane font leur apparition. Puis c'est l'horreur à maintenir ou quand tu veux ajouter/déplacer des composants.

    Dirige toi vers de vrais layout manager genre FormLayout, MigLayout ou GridBagLayout.

    Sérieusement, le layout null est le pire des choix que l'ont peu faire pour du positionnement d'interfaces AWT/Swing, et une des plus mauvaises pratiques.

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

Discussions similaires

  1. [C# express] Comment ajouter des composants à la palette d'outils?
    Par Jayceblaster dans le forum Visual Studio
    Réponses: 1
    Dernier message: 04/11/2006, 20h40
  2. [IDE] Ajouter des composants
    Par mohamed dans le forum EDI
    Réponses: 2
    Dernier message: 11/02/2006, 09h16
  3. Ajouter des composants à chaud avec Swing
    Par raj dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 02/12/2004, 10h34
  4. Réponses: 1
    Dernier message: 02/01/2003, 12h45

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