Interface graphique : comment docker des JPanel de maniere définitive?

Interface graphique : comment docker des JPanel de maniere définitive? - Java - Programmation

Marsh Posté le 21-05-2004 à 16:53:20    

Bonjour, est ce que vous connaissez les methodes à employer sur un objet de type JPanel afin de le docker de maniere définitive dans un autre élément graphique ? (Dans mon cas il s'agit d'un JTabbedPane).
 
Ce que je veut dire par la c'est que je souhiate que mon JPanel soit affiché dans le coin supérieur gauche de ma JTabbedPane et que si l'utilisateur redimentionne la fenetre, que la position de mon JPanel ne change pas (actuellement, il est recentré à chaque fois horizontalement).
 
Voila, j'espere que vous pourrez m'aider un petit peu ;)
Actuellement je n'utilise que le setPreferredSize() qui, si l'utilisateur ne redimentionne pas la fenetre fonctionne plus ou moins mais ce n'est pas le pied ...

Reply

Marsh Posté le 21-05-2004 à 16:53:20   

Reply

Marsh Posté le 21-05-2004 à 18:50:34    

Ben faut pas utiliser les methodes setAlignmentX() et setAlignmentY() du composant parent ?


---------------
Amaury.
Reply

Marsh Posté le 21-05-2004 à 21:11:22    

J'ai essayé : setAlignmentX(0) et setAlignmentY(0) mais ca ne change rien :( mes Panels sont tjs centré à partir du moment ou je redimentionne ma fenetre :(

Reply

Marsh Posté le 22-05-2004 à 13:12:35    

Quels sont les composants parents de tes JPanel et quel Layout leur a tu mis ?


---------------
Amaury.
Reply

Marsh Posté le 22-05-2004 à 15:37:37    

Alors j'utilise un JTabbedPane dans lequel le layout est un GridBagLayout. Ensuite j'utilise 2 JPanel avec ce Layout.
Dans mes JPanel, pour l'instant, il n'y a pas de Layout bien défini encore.

Reply

Marsh Posté le 22-05-2004 à 15:49:58    

Hop, voila mon code (ya qques test encore qui figure dedans mais ils n'ont pas été concluants)
 

Code :
  1. public MCQ_Editing(String id)
  2.     {
  3.         gbc = new GridBagConstraints();
  4.         super.setLayout(new GridBagLayout());
  5.         gbc.gridx = 0;
  6.         gbc.gridy = 0;
  7.         gbc.fill = GridBagConstraints.HORIZONTAL;
  8.         gbc.anchor = GridBagConstraints.EAST;
  9.         super.id = id;
  10.         answers = new Vector();
  11.        
  12.         UpperPane = new JPanel();
  13.         QuestionPane = new JPanel();
  14.        
  15.         //Configuration of the Upper Panel
  16.         UpperPane.setLayout(new GridLayout(3,1));
  17.         UpperPane.setPreferredSize(new Dimension(600,60));
  18.         UpperPane.add(label);
  19.         UpperPane.add(text);
  20.         UpperPane.add(answerlabel);
  21.         super.add(UpperPane, gbc);
  22.        
  23.         //Config. of the Middle Panel (Questions)
  24.         QuestionPane.setLayout(new GridBagLayout());
  25.         QuestionPane.setPreferredSize(new Dimension(600,350));
  26.         QuestionPane.setAlignmentX(0);
  27.         QuestionPane.setAlignmentY(0);
  28.        
  29.         gbd = new GridBagConstraints();
  30.         gbd.gridx = 0;
  31.         gbd.gridy = 0;
  32.         gbd.fill = GridBagConstraints.HORIZONTAL;
  33.         gbd.anchor = GridBagConstraints.EAST;
  34.         gbc.fill = GridBagConstraints.BOTH;
  35.         gbc.gridwidth = GridBagConstraints.REMAINDER;
  36.         gbc.gridy++;
  37.         super.add(QuestionPane, gbc);
  38.        
  39.        
  40.        
  41.     }
  42.     public void addAnswer(String id, String text, int num_quest) {
  43.      
  44.       //We Display a Text Edit Area
  45.         CheckBox toAdd = new CheckBox(id, text);
  46.         answers.add(toAdd);
  47.         gbd.gridy++;
  48.         //super.add(new JLabel(num_quest+". " ),gbc);
  49.         QuestionPane.add(new JLabel(num_quest+". " ), gbd);
  50.         gbd.gridx++;
  51.         QuestionPane.add(toAdd, gbd);
  52.         gbd.gridx = 0;
  53.     }

Reply

Marsh Posté le 22-05-2004 à 22:26:30    

Oui mais ton JTabbedPane il est ou ?


---------------
Amaury.
Reply

Marsh Posté le 23-05-2004 à 00:50:42    

euh ... dans un JPanel qui lui meme est dans une Frame splittée si mes souvenir sont bons (en fait on reprend le programme d'une autre personne et parfois c'est pas extra clair ....).

Reply

Marsh Posté le 23-05-2004 à 00:51:45    

JBs a écrit :

(en fait on reprend le programme d'une autre personne et parfois c'est pas extra clair ....).

c'est pour ça qu'il faut un bon navigateur de code.


---------------
trainoo.com, c'est fini
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed