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

Interfaces Graphiques en Java Discussion :

affichage de dessin dans jpanel avec BorderLayout


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut affichage de dessin dans jpanel avec BorderLayout
    bonjour ,voila j'ai un problème pour afficher un dessin sur un jpanel ,j'ai utiliser un borderlayout et g mis mon dessin a borderlayout.WEST ,mais il ne s'affiche pas ,mais si je met mon jpanel de dessin directement sur la fenetre ça marche
    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
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    public frame(){
        
        setSize(600,600);
    JPanel panneau=new JPanel();
    JPanel processeurPan=new JPanel();
    JPanel commandePan =new JPanel();
    JPanel processusPan =new JPanel();
    commandePan.setLayout(new GridLayout(3,1));
    JPanel processusinfo=new JPanel();
    panneau.setLayout(new BorderLayout());
    
    
    
    
    JPanel buttonPan =new JPanel();
    JPanel reg1=new JPanel();
    JPanel reg2=new JPanel();
    button ajout=new button("ajouter processus");
    button demarrer=new button("DEMARRER");
    button stop=new button("STOP");
    
    JLabel registre1=new JLabel("registre1");
    JLabel registre2=new JLabel("registre2");
    JLabel registre3=new JLabel("registre3");
    JLabel registre4=new JLabel("registre4");
    JLabel registre5=new JLabel("registre5");
    JLabel registre6=new JLabel("registre6");
    JTextField regt1=new JTextField(10);
    JTextField regt2=new JTextField(10);
    JTextField regt3=new JTextField(10);
    JTextField regt4=new JTextField(10);
    JTextField regt5=new JTextField(10);
    JTextField regt6=new JTextField(10);
    
    proPan ps=new proPan();
    
     processusPan.add(ps);
    
    
    
    
    
    
    
    reg1.setLayout(new GridLayout(6,1));
    reg2.setLayout(new GridLayout(6,1));
    buttonPan.add(ajout);
    buttonPan.add(demarrer);
    buttonPan.add(stop);
    reg1.add(registre1);
    reg1.add(regt1);
    reg1.add(registre2);
    reg1.add(regt2);
    reg1.add(registre3);
    reg1.add(regt3);
    reg2.add(registre4);
    reg2.add(regt4);
    reg2.add(registre5);
    reg2.add(regt5);
    reg2.add(registre6);
    reg2.add(regt6);
    commandePan.add(processusinfo);
    commandePan.add(buttonPan);
    
    processeurPan.add(reg1,BorderLayout.WEST);
    processeurPan.add(reg2,BorderLayout.EAST);
    panneau.add(processusPan,BorderLayout.WEST);
    panneau.add(processeurPan,BorderLayout.EAST);
    panneau.add(commandePan,BorderLayout.SOUTH);
    
    add(panneau);
    }
    class button extends JButton{
       public button(String nom){
            super(nom);
    
    
        }
    }
    
    
    }
    class proPan  extends JPanel
    {
    
        public void paintComponent(Graphics g)
        {
    
         Graphics2D g2=(Graphics2D)g;
         g2.setColor(Color.RED);
         Ellipse2D p=new Ellipse2D.Double(40,40,40,40);
         p.setFrameFromCenter(40, 40, 40, 40);
         
       
         g2.draw(p);
                         }
                                 }

  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,

    Quand un objet est présent dans la partie WEST (ou EAST) d'un BorderLayout, il a la largeur de la PreferredSize et la hauteur du composant parent. Ton panneau ayant une PreferredSize à (0, 0), il n'est pas visible.
    Tu n'as qu'à faire un setPreferredSize(100, 0) par exemple.

  3. #3
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut
    bonjour deaf,merci pour ta reponse
    cependant g un probleme d'afficher une JList de composant 2D toujours en region West mais ça me donne ça au lieu de la liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    simulateur.proPan[,0,0,0x0,invalid,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
    j'ai utilisé Liste.setsize() pour ajuster sa taille mais ça marche toujours pas
    merci bcps pour votre aide

  4. #4
    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
    Alors, setSize ne doit être manipulé que par les layout (ou si tu n'en utilises pas, ce que je déconseilles vivement). C'est normal que ça ne fasse rien.

    Quand on utilises un layout, pour modifier les dimensions d'un composant, il faut jouer sur :
    - la minimumSize
    - la maximumSize
    - la preferredSize
    - les contraintes du layout

    Pour savoir quelle size il faut utiliser, il faut regarder comment fonctionne le Layout utiliser.

  5. #5
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut
    bonjour ,j'ai utilisé minimumSize et maximumSize sur ma JList et je l'ai placé sur un panel au NORTH et ça marche toujours pas

  6. #6
    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
    raté, c'est la preferredSize qu'il fallait utiliser

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Décembre 2009
    Messages : 22
    Par défaut
    Ici tu as un article sur les layouts et les sizes qu'ils prennent en consideration, notamment BorderLayout.

    http://www.developer.com/java/articl...rred-Sizes.htm

  8. #8
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut
    bonjour, les gars je crois que le probléme et du fait que j'essai de mettre des composants 2D dans ma JList.
    Alors est possible de faire ça??
    merci

Discussions similaires

  1. Probleme Qualité d'affichage d'image dans JPanel
    Par snay13 dans le forum Débuter
    Réponses: 14
    Dernier message: 07/09/2010, 20h20
  2. Dessin dans JPanel
    Par tyteflo dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 28/12/2008, 00h39
  3. JScrollBar dans JPanel avec barres d'outils
    Par L. Sierra dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 01/10/2008, 18h16
  4. Réponses: 2
    Dernier message: 08/12/2007, 11h16
  5. Dessin dans JPanel issu de la palette
    Par ChPr dans le forum Graphisme
    Réponses: 3
    Dernier message: 16/05/2007, 16h26

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