Limiter la taille de JPanel

ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 - 18 avril 2007 à 09:51
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 - 19 avril 2007 à 12:23
salut

Je n'arrive pas à faire en sorte de limiter la taille de mon JPanel.
j'ai ajouté pan.setSize(320,220);ça marche pas et j'ai ajouté pan.setBOunds la meme chose , je voulais bien limiter la taille de panel sur JFrame

voila le code

package aa;
import javax.swing.*;
import java.awt.*;
publicclass SimpleFenetre extendsJFrame  {
privateJPanel pan;
privateJButton entrer= newJButton("entrer");

public SimpleFenetre(){
this.setResizable(false);
this.setSize(420,420);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

     pan=newJLabel();
 
pan.setBorder(BorderFactory.createTitledBorder("ulysse031"));

 
     pan.setLayout(null);
     pan.add(entrer);

    entrer.setBounds(50 ,10 ,70,30);
     getContentPane().add(pan);
 }

publicstaticvoid main(String[] args){
          SimpleFenetre fenetre = new SimpleFenetre();
             fenetre.setVisible(true);
         }
}

merci

3 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
18 avril 2007 à 10:47
Heu, t'es sûr que ton code fonctionner :
privateJPanel pan;
pan=newJLabel(); // ????????

Sinon, dans un layout null, il s'agit bien de setBounds pour définir la position et la taille du panel, mais encore faut-il que ta fenêtre soit en layout null :

public SimpleFenetre(){
    this.setResizable(false);
    this.setSize(420, 420);
    this.setLocationRelativeTo(null);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

     pan = newJPanel();
 
    pan.setBorder(BorderFactory.createTitledBorder("ulysse031"));

     pan.setLayout(null);
     entrer.setBounds(50 ,10 ,70,30);
     pan.add(entrer);

      getContentPane().setLayout(null);
      getContentPane().add(pan);
 }

Mais je le rerépètte : tu y gagnera plus à utiliser un layout plutôt que sans layout !!!
0
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 1
18 avril 2007 à 17:54
salut
pan = new JLabel(); faute de frappe quand j'ai écris le code je n'ai pas retourné en ariere pour controler

mais ta modification ne marche pas de tout
je voulais bien limiter la taille de mon JPanel
merci
0
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 1
19 avril 2007 à 12:23
salut
j'ai modofié le code mais ça marche pas

import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
 
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
publicclass SimpleFenetre extends JFrame {
 
 
    private JPanel pan;
    private JButton entrer = new JButton("entrer");
    public SimpleFenetre(){
        this.setResizable(false);
        this.setSize(420, 420);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        pan = new JPanel();
        pan.setSize(320, 320);
        pan.setPreferredSize(new Dimension(320, 320));
        pan.setMaximumSize(new Dimension(320, 320));
        pan.setMinimumSize(new Dimension(320, 320));
 
        pan.setBorder(BorderFactory.createTitledBorder("ulysse031"));
 
 
        pan.setLayout(null);
        pan.add(entrer);
 
        entrer.setBounds(50, 10, 70, 30);
        getContentPane().add(pan);
 
 
    }
 
    /** *. */
    publicstaticvoid main(String[] inArgs){
        SimpleFenetre fenetre = new SimpleFenetre();
        fenetre.setVisible(true);
    }
}
 
0
Rejoignez-nous