_julien_ | 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 :
- package test3;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JPanel;
- import javax.swing.JScrollPane;
- import javax.swing.JTable;
- public class affichage extends JFrame implements ActionListener {
- private static final long serialVersionUID = 1L;
- private static JPanel panneau = null;
- private static JScrollPane sp;
- public affichage(){
- super("bob" );
- setSize(800, 600);
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- setJMenuBar(creerBarreDeMenus());
- panneau = new JPanel();
-
- JButton bouton = new JButton("table1" );
- bouton.addActionListener(this);
- panneau.add(bouton);
-
- bouton = new JButton("table2" );
- bouton.addActionListener(this);
- panneau.add(bouton);
-
-
- getContentPane().add(panneau, BorderLayout.NORTH);
- panneau.setBackground(Color.decode("#A3CCED" ));
- setVisible(true);
- }
- public static void main(String[] args) {
- new affichage();
- }
- public void actionPerformed(ActionEvent evt) {
- if (evt.getActionCommand().equals("table1" )) {
- String[][] donnees = new String[][] {{"Vert"}, {"Red"}, {"Yellow"}};
- String[] cols = {"Table1"};
- JTable tab = new JTable(donnees, cols);
- sp = new JScrollPane(tab);
- getContentPane().add(sp, BorderLayout.CENTER);
- setVisible(true);
-
- }
- if (evt.getActionCommand().equals("table_1" )) {
- String[][] donnees = new String[][] {{"Vert"}, {"Red"}, {"Yellow"}};
- String[] cols = {"Table_1"};
- JTable tab = new JTable(donnees, cols);
- sp = new JScrollPane(tab);
- getContentPane().add(sp, BorderLayout.CENTER);
- setVisible(true);
-
- }
- if (evt.getActionCommand().equals("table2" )) {
- String[][] donnees = new String[][] {{"bla"}, {"erztzertzertzte"}, {"hgfh"}};
- String[] cols = {"Table2"};
- JTable tab = new JTable(donnees, cols);
- sp = new JScrollPane(tab);
- getContentPane().add(sp, BorderLayout.CENTER);
- setVisible(true);
- }
- if (evt.getActionCommand().equals("table_2" )) {
- String[][] donnees = new String[][] {{"bla"}, {"erztzertzertzte"}, {"hgfh"}};
- String[] cols = {"Table_2"};
- JTable tab = new JTable(donnees, cols);
- sp = new JScrollPane(tab);
- getContentPane().add(sp, BorderLayout.CENTER);
- setVisible(true);
-
- }
- // Autre tentative de gérer les évenements qui ne change rien
- /*
- if (evt.getSource() instanceof JMenuItem)
- {
- JMenuItem ee=(JMenuItem)(evt.getSource());
-
- if (ee.getText()=="table_1" ) {
- String[][] donnees = new String[][] {{"Vert"}, {"Red"}, {"Yellow"}};
- String[] cols = {"Table1"};
- JTable tab = new JTable(donnees, cols);
-
- sp = new JScrollPane(tab);
-
- frame.getContentPane().add(sp, BorderLayout.CENTER);
- frame.setVisible(true);
-
- }
-
- if (ee.getText()=="table_2" ) {
-
- String[][] donnees = new String[][] {{"bla"}, {"erztzertzertzte"}, {"hgfh"}};
- String[] cols = {"Table2"};
- JTable tab = new JTable(donnees, cols);
-
- sp = new JScrollPane(tab);
-
- frame.getContentPane().add(sp, BorderLayout.CENTER);
- frame.setVisible(true);
-
- }
-
- }
-
- */
- }
- JMenuBar creerBarreDeMenus() {
- JMenuBar barre = new JMenuBar();
-
- JMenu menu = new JMenu("Choix table" );
- barre.add(menu);
-
- JMenuItem item = new JMenuItem("table_1" );
- item.addActionListener(this);
- menu.add(item);
-
- item = new JMenuItem("table_2" );
- item.addActionListener(this);
- menu.add(item);
-
-
-
- return barre;
- }
- }
|
|