[JAVA] Question à propos de Switch

Fermé
Fragma Messages postés 8 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 29 mars 2007 - 29 mars 2007 à 18:18
 Utilisateur anonyme - 29 mars 2007 à 19:00
Salut,


en fait je suis débutante en JAVA, et j'ai besoin pour mon projet d'utiliser des menus .. je voudrai savoir comment faire en utilisant switch pour revenir au menu précédent à partir d'un autre menu. J'ai une idée précise du résultat mais pas de la manière de l'obtenir :(


Merci à vous!
A voir également:

1 réponse

Utilisateur anonyme
29 mars 2007 à 19:00
Salut !

Voici une piste...

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

public class ChangeMenuDemo extends JFrame {
	private JMenuBar firstMenu;

	private JMenuBar secondMenu;

	public ChangeMenuDemo() {
		super("Menu demo");
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		ChangeMenuListener listener = new ChangeMenuListener(this);
		firstMenu = new FirstMenu(listener);
		secondMenu = new SecondMenu(listener);
		setJMenuBar(secondMenu);
		JPanel fooPanel = new JPanel();
		fooPanel.add(new JLabel("Cliquez sur 'Options' puis 'Go tp menu x' pour changer de menu"));
		add(fooPanel);
	}

	public void setMenu(JMenuBar newMenu) {
		this.setJMenuBar(newMenu);
		validate();
	}
	
	public JMenuBar getMenu( ) {
		return this.getJMenuBar();
	}

	class FirstMenu extends JMenuBar {
		private static final long serialVersionUID = -4697482731046857467L;

		public FirstMenu(ChangeMenuListener listener) {
			super();
			JMenu menu_options = new JMenu("Options");
			JMenuItem menu_options_help = new JMenuItem("Help");
			JMenuItem menu_options_changeMenu = new JMenuItem("Go to menu 2");
			menu_options_changeMenu.addActionListener(listener);
			menu_options.add(menu_options_help);
			menu_options.add(menu_options_changeMenu);
			add(menu_options);
		}
	}

	class SecondMenu extends JMenuBar {
		private static final long serialVersionUID = -1991397704913469398L;

		public SecondMenu(ChangeMenuListener listener) {
			super();
			JMenu menu_edit = new JMenu("Edit");
			JMenuItem menu_edit_copy = new JMenu("Copy");
			JMenuItem menu_edit_paste = new JMenu("Paste");
			menu_edit.add(menu_edit_copy);
			menu_edit.add(menu_edit_paste);
			JMenu menu_options = new JMenu("Options");

			JMenuItem menu_options_changeMenu = new JMenuItem("Go to menu 1");
			menu_options_changeMenu.addActionListener(listener);
			menu_options.add(menu_options_changeMenu);
			add(menu_options);
		}

	}

	class ChangeMenuListener implements ActionListener {
		private ChangeMenuDemo parentFrame;

		public ChangeMenuListener(ChangeMenuDemo parentFrame) {
			super();
			this.parentFrame = parentFrame;
		}

		public void actionPerformed(ActionEvent e) {
			System.out.println("change");
			if(parentFrame.getMenu().equals(firstMenu)){
				System.out.println("go to menu 2");
				parentFrame.setJMenuBar(secondMenu);
			}else{
				System.out.println("go to menu 1");
				parentFrame.setJMenuBar(firstMenu);
			}
		}

	}

	public static void main(String[] args) {
		ChangeMenuDemo demo = new ChangeMenuDemo();
		demo.pack();
		demo.setVisible(true);
	}

}



;-)
HackTrack
0