[JAVA SWING] probleme avec la gestion des layout manager

probleme avec la gestion des layout manager [JAVA SWING] - Java - Programmation

Marsh Posté le 01-03-2008 à 13:17:39    

bonjour
je suis debutant en java swing
je suis actuellment en train de faire une fenetre avec deux deux JiNternalFrame
qui dans lune contient un group boutton avec tous les layouts et dans un second les changement apporter la presentation  du layout selectionner.
voila
je vous envoie le code.

Code :
  1. public class SelectLayout {
  2. JFrame fenetre;
  3. SelectLayout(){
  4.  fenetre=new JFrame("Selectlayout" );
  5.  JDesktopPane panedesktop=new JDesktopPane();
  6.  fenetre.setContentPane(panedesktop);
  7.  JInternalFrame internframe1=new JInternalFrame();
  8.  internframe1.setVisible(true);
  9.  JInternalFrame internframe2=new JInternalFrame();
  10.  internframe2.setVisible(true);
  11.  internframe2.setSize(200,200);
  12.     internframe1.setSize(200,200);
  13.  JTextArea text=new JTextArea();
  14.  //internframe1.add()
  15.  //MyActionListener action=new MyActionListener();
  16.  JRadioButton button=new JRadioButton("BORDERLAYOUT" );
  17.  JRadioButton button2=new JRadioButton("FLOWLAYOUT" );
  18.  JRadioButton button3=new JRadioButton("GRIDLAYOUT" );
  19.  JRadioButton button4=new JRadioButton("GRIDBAGLAYOUT" );
  20.  JRadioButton button5=new JRadioButton("BoxLAYOUT" );
  21.  ButtonGroup t=new ButtonGroup();
  22.     internframe1.setContentPane(new JPanel());
  23.     internframe2.setContentPane(new JPanel());
  24.     internframe2.add(new JLabel("eeffef" ));
  25.     internframe2.add(new JButton("dzfdzef" ));
  26.     internframe2.add(new JLabel("zzzzzzf" ));
  27.     internframe2.add(new JLabel("hhhhh" ));
  28. internframe1.add(button);
  29.  t.add(button);
  30.  button.addActionListener(new MyActionListener(internframe2,new BorderLayout(),button));
  31.  internframe1.add(button2);
  32.  t.add(button2);
  33.  button.addActionListener(new MyActionListener(internframe2,new FlowLayout(),button2));
  34.  //internframe1.add(button3);
  35.  t.add(button3);
  36.  button.addActionListener(new MyActionListener(internframe2,new GridLayout(),button3));
  37.  t.add(button4);
  38.  internframe1.add(button4);
  39.  button.addActionListener(new MyActionListener(internframe2,new GridBagLayout(),button4));
  40.  t.add(button5);
  41.     internframe1.add(button5);
  42.  button.addActionListener(new MyActionListener(internframe2,new GridBagLayout(),button5));
  43.  panedesktop.add(internframe1);
  44.  panedesktop.add(internframe2);
  45.  JLabel toto=new JLabel();
  46.  show();
  47. }
  48. void show(){
  49.  fenetre.setSize(400,400);
  50.  fenetre.show();
  51.  fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  52. }
  53. }


mon action listener

Code :
  1. public class MyActionListener implements ActionListener{
  2. JInternalFrame frame;
  3. LayoutManager layout;
  4. JRadioButton button;
  5. MyActionListener(JInternalFrame j,LayoutManager Layout,JRadioButton button){
  6.   frame=j;
  7.         layout=layout;
  8.         button=button;
  9. }
  10. public void actionPerformed(ActionEvent arg0) {
  11.  frame.setLayout(layout);
  12.  System.out.print(layout);
  13.  frame.revalidate();
  14.  }
  15. }

Reply

Marsh Posté le 01-03-2008 à 13:17:39   

Reply

Marsh Posté le 04-03-2008 à 11:42:11    

c'est quoi la question ?

Reply

Marsh Posté le 04-03-2008 à 12:50:22    

bonjour  
je veux faire  un gestionnaire de layout.
sur un internalframe il ya un group bouton  avec le choix des layout.
En selectionnant le layout,le deuxieme Jinternal frame prend le rendu du layout
mais le probleme cest que ca ne marche pas la deuxieme jinternal frame reste pareil en cliquant sur n'importe quel bouton.  un probleme du listener peut etre sur les boutons en tout cas je ne vois pas ou est le probleme jai respecte toute les regles au sujet du listener.  

Reply

Marsh Posté le 04-03-2008 à 16:11:17    

En regardant vite fait :

Code :
  1. MyActionListener(JInternalFrame j,LayoutManager Layout,JRadioButton button){
  2.   frame=j;
  3.         layout=layout;
  4.         button=button;
  5. }


 
est à remplacer par :
 

Code :
  1. MyActionListener(JInternalFrame j,LayoutManager layout,JRadioButton button){
  2.   frame=j;
  3.         this.layout=layout;
  4.         this.button=button;
  5. }

Reply

Marsh Posté le 04-03-2008 à 16:14:23    

oui je crois que c'est ca l'erreur .Je suis trop null pointer exception. en tout cas je vais essayer mais  je pense que cest une grande chance que ca soit

Reply

Marsh Posté le 04-03-2008 à 16:19:28    

merci beaucoup

Reply

Sujets relatifs:

Leave a Replay

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