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

Agents de placement/Fenêtres Java Discussion :

[jpanel] Modifier la taille...


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 80
    Points : 84
    Points
    84
    Par défaut [jpanel] Modifier la taille...
    Salut, je deviens fou j'arrive pas à modifier la taille d'un jpanel...

    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
     
    public class ArchiFrame extends JFrame {
     
         public ArchiFrame() {
     
            MenuBar menuBar = new MenuBar();
            //...............
            setTitle("Archi");
            setMenuBar(menuBar);
            setSize(new Dimension(800, 600));
     
          	draw = new DessinCiel(this);
    	draw.setLocation(10,10);
    	draw.setSize(new Dimension(200, 200));
    	this.getContentPane().add(draw,"Center"); 
            draw.repaint();
     
        }
     
            public int tailleCarte = 700;
    	public ParserBdd data;
    	public Position pos;
    	public DessinCiel draw;
     
    }
    La classe dessinCiel dérive de jpanel

    Lorsque j'execute j'ai bien mon menu sur la fenetre et mon jpanel. Mais le probleme est que le jpanel fait toutes la fenetres alors que je lui ai indiqué une taille de 200 par 200
    je comprends pas....

    merci

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Ton JPanel appartiens à un layout. C'est ce layout qui détermine sa taille et sa position.
    S'il prend toute la place, ce doit etre un BorderLayout !
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    *************<-- fenetre
    * ***** <- jpanel
    * *
    * *****
    *************

    Bon c'est pas beau mais c'est ce que j'aimerai avoir. Ma fenetre qui contient un jpanel sur une zone donnée, en ce moment mon jpanel fait toute la fenetres et je ne veux pas. J'ai tester des trucs avec gridlayout mais rien...

    Si quelqu'un a un petit exemple en pseudo code, ca me ferai plaisir le temps que j'aille m'acheter un petit livre java

    merci

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Heu... dificile de se faire une idée là...
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    ah? bah je vais mettre ma classe vite fait

    Classe de base qui démarre l'appli
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class Archi {  
        public static void main(String[] args) {
            ArchiFrame frame = new ArchiFrame();
            frame.setVisible(true);
        }
    }
    Classe archiFrame qui derive 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
    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
     
    public class ArchiFrame extends JFrame {
     
         public ArchiFrame() {
     
            MenuBar menuBar = new MenuBar();
            Menu menuFile = new Menu();
            MenuItem menuFileExit = new MenuItem();
     
            menuFile.setLabel("File");
            menuFileExit.setLabel("Exit");
     
            menuFileExit.addActionListener
            (
                new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        ArchiFrame.this.windowClosed();
                    }
                }
            ); 
            menuFile.add(menuFileExit);
            menuBar.add(menuFile);
     
            setTitle("Archi");
            setMenuBar(menuBar);
            setSize(new Dimension(800, 600));
     
            this.addWindowListener
            (
                new WindowAdapter() {
                    public void windowClosing(WindowEvent e) {
                        ArchiFrame.this.windowClosed();
                    }
                }
            );  
     
     
            //--------
     
            data = new ParserBdd (pathBdd);
    	Outils.triConstell(data.star);
     
    	pos = new Position(data, tailleCarte);
    	try { 
    		cons = new Constel("c:\\constellations.txt", this); 
    	} 
    	catch (IOException e) {	
               int i;  // TODO
            }
     
    		Container c = this.getContentPane();
    		LayoutManager layout = c.getLayout();
    		draw = new DessinCiel(this); // DessinCiel derive de JPanel
    		draw.setLayout(layout);
    		draw.setLocation(10,10);
    		draw.setSize(new Dimension(200, 200));
    		c.add(draw,"Center"); 
                    draw.repaint();
        }
     
        protected void windowClosed() {
     
        	// TODO: Check if it is safe to close the application
     
            // Exit application.
            System.exit(0);
        }
     
        public int tailleCarte = 700;
    	public ParserBdd data;
    	public Position pos;
    	public DessinCiel draw;
    	public Constel cons;
    	public int affichNom = 1;
    	public float magLimit = 4;
    	public String pathBdd = "c:\\stars.tsv";
    }
    Et voila la classe dessin Ciel
    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
     
    public class DessinCiel extends JPanel {
     
     	public DessinCiel (ArchiFrame astro) {
     		this.astro = astro;	
     	}
     
       	public void paintComponent(Graphics g){
    		super.paintComponent(g);
    		// DESSIN.......
       	}
     
     	// Variables de classe
     	public ArchiFrame astro;
    };
    Voila le seul prob est que le JPanel est de la taille de la fenetre, alors qu'il devrait faire 200 par 200 positionné à x:10 y:10

    voila, j'espere que c un peu plus claire

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Points : 37
    Points
    37
    Par défaut
    Bonjour,

    Tu peux essayer avec un JLayeredPane qui joue le rôle de layout. Pour chaque composant que tu ajoutes, notamment ton JPanel, tu fais un setBounds(int x, int y, int width, int height) avec la position exacte que tu veux lui donner et ses dimensions.
    Ensuite, tu l'ajoutes au JLayeredPane et normalement, il a la taille fixe que tu lui as donné et il se positionne aux coordonnées que tu lui as passé.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    Merci beaucoup alexandra, ca marche nickel
    Merci merci

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 45
    Points : 37
    Points
    37
    Par défaut
    Bah de rien, ça me fait super plaisir.
    @+
    Alex

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

Discussions similaires

  1. Modifier la taille de deux JPanel
    Par Von_Kavalier dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 15/06/2015, 03h49
  2. modifier la taille de jpanels
    Par Kobe70 dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 22/07/2008, 14h45
  3. Réponses: 7
    Dernier message: 23/01/2008, 23h36
  4. modifier la taille d'un JPanel
    Par Asmod_D dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 04/04/2007, 15h12
  5. Réponses: 5
    Dernier message: 27/11/2002, 14h08

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