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 :

Problème de placement de mes composants et layout


Sujet :

AWT/Swing Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Par défaut Problème de placement de mes composants et layout
    salut,
    je post car je n'arrive pas à placer mes composants comme je le souhaite, j'utilise le SpringLayout. Vous trouverez en piece jointe une image de ce que je dois réaliser.

    en bref, j'ai en premier lieu, un JTabbedPane composé de 4 onglets ( chambres, reservation, ect..)


    Dans une class Fenetre heritant de JFrame
    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
     
    public Fenetre()
    	{
     
    		getTabbedPane();
    		this.getContentPane().add(jtp);
    		this.setVisible(true);
    		this.setSize(800, 600);
    	}
     
    	public void getTabbedPane()
    	{
    		//instanciation des onglets du tabbedpane
     
    		pnlCh=new PnlChambre();
    		pnlCl=new PnlClient();
    		pnlCat=new PnlCategorie();
    		pnlReserv=new PnlReservation();
     
    		//ajout des panels et de titre aux onglets
    		jtp=new JTabbedPane();
     
    		jtp.addTab("Chambre", pnlCh);
    		jtp.addTab("Client", pnlCl);
    		jtp.addTab("Categorie", pnlCat);
    		jtp.addTab("Reservation", pnlReserv);
     
     
    	}
    donc là, j'ajoute mes panels dans chacun des onglets

    Ensuite venons-en au placement des composants dans chaque panel!!

    Comme le placement des composants est le même dans chaque onglet et que c'est juste le contenu qui change, j'utilise une classe AbstractPanel dans la quelle , je vais creer ce qui ne change pas et dans laquelle je vais definir l'architecture et l'emplacement des composants.
    Pour ce qui est des classes PanelChambre, PanelClient, elles serviront simplement à redefinir le contenu.

    Comme vous pouvez le voir sur l'image, il ya 2 parties gauche et droite:
    a Gauche:
    2 JButtons et une Jlist en dessous
    aDroite:
    un JPanel
    C'est tout!

    Donc venons en à la classe abstract panel héritant de JPanel là où je définis la place des composants.
    PS: je ne met pas le contenu des methodes panelDroite() et listeDeGauche(), ca n'a pas d'utilité!!


    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
     
    public abstract class AbstractPanel extends JPanel
    {
    public AbstractPanel()
    	{
                    SpringLayout sp=new SpringLayout();
    		setLayout(sp);
    		add(getJbPlus(),new GridLayout());
    		add(getJbMoins(),new GridLayout());
    		listeDeGauche();
                   PanelDroite();
     
                   layout.putConstraint(SpringLayout.WEST, getJbPlus(),
    				5,
    				SpringLayout.WEST, this);
    				layout.putConstraint(SpringLayout.NORTH, getJbPlus(),
    				5,
    				SpringLayout.NORTH, this);
     
    	}
     
    public JScrollPane listeDeGauche()
    	{
             return listScrollPane;
    	}
     
    	public JButton getJbPlus()
    	{
    		jbPlus=new JButton("+");	
    		jbPlus.setBackground(Color.gray);
     
    		return jbPlus;
    	}
     
    	public JButton getJbMoins()
    	{
    		jbMoins=new JButton("-");
    		jbMoins.setBackground(Color.gray);
    		return jbMoins;
    	}
     
     
    	public JPanel panelDroite()
    	{	
    		return jPanelDroite;
     
    	}
     
    }
    je n'ai pas mis tous les layout.putConstraint pour chacun des composant car de toute façon mon probleme est que mon springLayout est sans effet sur le placemment, je ne comprends pas, quelqun a une idée.

    Si on récapitule j'ai une classe qui hérite de JFrame dans laquelle j'ajoute un JTabbedPane, dans lequel, j'ajoute pour chaque onglet un panel!

    Ce panel étant par exemple PanelChambre et héritant d'une classe AbstractPanel , elle-même héritant de JPanel.
    pfiou
    Merci par avance pour la patience de ce qui auront le courage de me lire!!

    PS: j'ai essayé avec d'autre layout et ca ne change rien non plus.
    Images attachées Images attachées  

Discussions similaires

  1. Problème de positionnement de mes composants
    Par khalous91 dans le forum AWT/Swing
    Réponses: 67
    Dernier message: 27/04/2015, 15h09
  2. Réponses: 6
    Dernier message: 09/03/2012, 14h01
  3. Problème de placement des widgets dans un layout
    Par maroua_mm dans le forum Qt
    Réponses: 1
    Dernier message: 20/08/2009, 15h16
  4. Problème de placement de composants Jframe, Jpanel
    Par shensi dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 07/02/2008, 14h33
  5. [Swing] Problème de placement et de taille des composants
    Par CrazySeb dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 22/04/2006, 14h56

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