Petit probleme en java

Petit probleme en java - Java - Programmation

Marsh Posté le 29-04-2009 à 12:51:59    

Bonjour , j aimerais avoir vos avis d 'expert sur un probleme qui me prend la tete depuis 2 heures.
 
mon programme se compose d un Jframe , a l interieur duquel il y a 1 Jmenu , composé de deux item table_1 et table_2, et de deux boutons table1 et table2.
 
Le bouton table1  afficher une  Jtable , dont le nom de colonne est table1, le bouton table2 une jtable dont le nom de colonne est table2, l item table_1 une jtable dont le nom de colonne est table_1 , ..........
 
 
 
 
le clic sur un des boutons marche tres bien , c est à dire que le clic sur un bouton m'affiche la Jtable desirée.
 
Le menu quand à lui ne fonctionne pas , mais son comportement est bizarre , c est à dire qu 'il m'affiche la premiere jtable affichée par le Jmenu donc il ne fonctionne qu une fois
 
 
 
Donc en résumé , apres l'execution du programme ,le premier clic fonctionne , où qu'il est lieu, mais après seuls les boutons fonctionnent correctement ,  
 
Merci de vos reponses
 

Code :
  1. package test3;
  2. import java.awt.BorderLayout;
  3. import java.awt.Color;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import javax.swing.JButton;
  7. import javax.swing.JFrame;
  8. import javax.swing.JMenu;
  9. import javax.swing.JMenuBar;
  10. import javax.swing.JMenuItem;
  11. import javax.swing.JPanel;
  12. import javax.swing.JScrollPane;
  13. import javax.swing.JTable;
  14. public class affichage extends JFrame implements ActionListener {
  15. private static final long serialVersionUID = 1L;
  16. private static JPanel panneau = null;
  17. private static JScrollPane sp;
  18. public affichage(){
  19. super("bob" );
  20. setSize(800, 600);
  21. setDefaultCloseOperation(EXIT_ON_CLOSE);
  22.  setJMenuBar(creerBarreDeMenus());
  23. panneau = new JPanel();
  24.  
  25. JButton bouton = new JButton("table1" );
  26.     bouton.addActionListener(this);
  27.     panneau.add(bouton);
  28.  
  29.     bouton = new JButton("table2" );
  30.     bouton.addActionListener(this);
  31.     panneau.add(bouton);
  32.    
  33.    
  34.     getContentPane().add(panneau, BorderLayout.NORTH); 
  35.     panneau.setBackground(Color.decode("#A3CCED" ));
  36.     setVisible(true);
  37. }
  38. public static void main(String[] args) {
  39.  new affichage();
  40. }
  41. public void actionPerformed(ActionEvent evt) {
  42.  if (evt.getActionCommand().equals("table1" )) {
  43.   String[][] donnees = new String[][] {{"Vert"}, {"Red"}, {"Yellow"}};
  44.   String[] cols = {"Table1"};
  45.   JTable tab = new JTable(donnees, cols);
  46.   sp = new JScrollPane(tab);
  47.   getContentPane().add(sp, BorderLayout.CENTER);
  48.   setVisible(true);
  49.          
  50.         }
  51. if (evt.getActionCommand().equals("table_1" )) {
  52.   String[][] donnees = new String[][] {{"Vert"}, {"Red"}, {"Yellow"}};
  53.   String[] cols = {"Table_1"};
  54.   JTable tab = new JTable(donnees, cols);
  55.   sp = new JScrollPane(tab);
  56.   getContentPane().add(sp, BorderLayout.CENTER);
  57.   setVisible(true);
  58.          
  59.         }
  60.  if (evt.getActionCommand().equals("table2" )) {
  61.   String[][] donnees = new String[][] {{"bla"}, {"erztzertzertzte"}, {"hgfh"}};
  62.   String[] cols = {"Table2"};
  63.   JTable tab = new JTable(donnees, cols);
  64.   sp = new JScrollPane(tab);
  65.   getContentPane().add(sp, BorderLayout.CENTER);
  66.   setVisible(true);       
  67.         }
  68.  if (evt.getActionCommand().equals("table_2" )) {
  69.   String[][] donnees = new String[][] {{"bla"}, {"erztzertzertzte"}, {"hgfh"}};
  70.   String[] cols = {"Table_2"};
  71.   JTable tab = new JTable(donnees, cols);
  72.   sp = new JScrollPane(tab);
  73.   getContentPane().add(sp, BorderLayout.CENTER);
  74.   setVisible(true);
  75.          
  76.         }
  77.  // Autre tentative de gérer les évenements qui ne change rien  
  78.  /*
  79.  if (evt.getSource() instanceof JMenuItem)
  80.  {
  81.  JMenuItem ee=(JMenuItem)(evt.getSource());
  82.  
  83.  if (ee.getText()=="table_1" ) {
  84.   String[][] donnees = new String[][] {{"Vert"}, {"Red"}, {"Yellow"}};
  85.   String[] cols = {"Table1"};
  86.   JTable tab = new JTable(donnees, cols);
  87.   sp = new JScrollPane(tab);
  88.   frame.getContentPane().add(sp, BorderLayout.CENTER);
  89.   frame.setVisible(true);
  90.    
  91.  }
  92.    
  93.  if (ee.getText()=="table_2" ) {
  94.    
  95.   String[][] donnees = new String[][] {{"bla"}, {"erztzertzertzte"}, {"hgfh"}};
  96.   String[] cols = {"Table2"};
  97.   JTable tab = new JTable(donnees, cols);
  98.   sp = new JScrollPane(tab);
  99.   frame.getContentPane().add(sp, BorderLayout.CENTER);
  100.   frame.setVisible(true);
  101.  }
  102.    
  103.  }  
  104.  
  105.  */
  106. }
  107.  JMenuBar creerBarreDeMenus() {
  108.         JMenuBar barre = new JMenuBar();
  109.        
  110.         JMenu menu = new JMenu("Choix table" );
  111.         barre.add(menu);
  112.        
  113.         JMenuItem item = new JMenuItem("table_1" );
  114.         item.addActionListener(this);
  115.         menu.add(item);
  116.        
  117.         item = new JMenuItem("table_2" );
  118.         item.addActionListener(this);
  119.         menu.add(item);
  120.        
  121.        
  122.        
  123.         return barre;
  124.     }
  125. }


 
 
 
 
 

Reply

Marsh Posté le 29-04-2009 à 12:51:59   

Reply

Sujets relatifs:

Leave a Replay

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