[JAVA] Question à propos de Switch
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!
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!
Configuration: Windows XP Firefox 2.0.0.1
1 réponse
-
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