Vous êtes sur la page 1sur 3

Dante mar 17 2010 12:57 p.m.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 import import import import import import import import import import java.awt.*; java.awt.event.*; javax.swing.JMenu; javax.swing.JMenuItem; javax.swing.JCheckBoxMenuItem; javax.swing.JRadioButtonMenuItem; javax.swing.ButtonGroup; javax.swing.JMenuBar; javax.swing.KeyStroke; javax.swing.ImageIcon;

ActionMenuDemo.java Page 1

import javax.swing.JTextArea; import javax.swing.JScrollPane; import javax.swing.JFrame; public class ActionMenuDemo extends JFrame implements ActionListener, ItemListener { JTextArea output; JScrollPane scrollPane; String newline = "\n"; public ActionMenuDemo() { JMenuBar menuBar; JMenu menu, submenu; JMenuItem menuItem; JRadioButtonMenuItem rbMenuItem; JCheckBoxMenuItem cbMenuItem; addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); Container contentPane = getContentPane(); output = new JTextArea(5, 30); output.setEditable(false); scrollPane = new JScrollPane(output); contentPane.add(scrollPane, BorderLayout.CENTER); menuBar = new JMenuBar(); setJMenuBar(menuBar); menu = new JMenu("Un Menu"); menu.setMnemonic(KeyEvent.VK_M); menu.getAccessibleContext().setAccessibleDescription("El unico menu que tie ne elementos"); menuBar.add(menu); menuItem = new JMenuItem("Un elemento de menu con solo texto", KeyEvent.VK_ T); menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.A LT_MASK)); menuItem.getAccessibleContext().setAccessibleDescription("Este realmente no hace nada"); menuItem.addActionListener(this); menu.add(menuItem); menuItem = new JMenuItem("Texto e icono", new ImageIcon("images/middle.gif" )); menuItem.setMnemonic(KeyEvent.VK_I);

Dante mar 17 2010 12:57 p.m. 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 menuItem.addActionListener(this); menu.add(menuItem);

ActionMenuDemo.java Page 2

menuItem = new JMenuItem(new ImageIcon("images/middle.gif")); menuItem.setMnemonic(KeyEvent.VK_D); menuItem.addActionListener(this); menu.add(menuItem); menu.addSeparator(); ButtonGroup group = new ButtonGroup(); rbMenuItem = new JRadioButtonMenuItem("Un elemento de menu que es un radio button"); rbMenuItem.setSelected(true); rbMenuItem.setMnemonic(KeyEvent.VK_R); group.add(rbMenuItem); rbMenuItem.addActionListener(this); menu.add(rbMenuItem); rbMenuItem = new JRadioButtonMenuItem("Otro mas"); rbMenuItem.setMnemonic(KeyEvent.VK_O); group.add(rbMenuItem); rbMenuItem.addActionListener(this); menu.add(rbMenuItem); menu.addSeparator(); cbMenuItem = new JCheckBoxMenuItem("Un elemento de menu que es un check box "); cbMenuItem.setMnemonic(KeyEvent.VK_C); cbMenuItem.addItemListener(this); menu.add(cbMenuItem); cbMenuItem = new JCheckBoxMenuItem("Otro mas"); cbMenuItem.setMnemonic(KeyEvent.VK_S); cbMenuItem.addItemListener(this); menu.add(cbMenuItem); menu.addSeparator(); submenu = new JMenu("Un submenu"); submenu.setMnemonic(KeyEvent.VK_S); menuItem = new JMenuItem("Un elemento del submenu"); menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.A LT_MASK)); menuItem.addActionListener(this); submenu.add(menuItem); menuItem = new JMenuItem("Otro elemento"); menuItem.addActionListener(this); submenu.add(menuItem); menu.add(submenu); menu = new JMenu("Otro menu"); menu.setMnemonic(KeyEvent.VK_R); menu.getAccessibleContext().setAccessibleDescription("Este menu no hace nad a"); menuBar.add(menu); } public void actionPerformed(ActionEvent e) { JMenuItem source = (JMenuItem)(e.getSource()); String s = "Se detecto un evento de Accion." + newline + " Evento fuente: " + source.getText() + " (es instancia de " + getClassName(source) + ")"; output.append(s + newline); }

Dante mar 17 2010 12:57 p.m. 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147

ActionMenuDemo.java Page 3

public void itemStateChanged(ItemEvent e) { JMenuItem source = (JMenuItem)(e.getSource()); String s = "Event de elemento detectado." + newline + " Evento fuente: " + source.getText() + " (es instancia de " + getClassName(source) + ")" + newline + " Nuevo estado: " + ((e.getStateChange() == ItemEvent.SELECTED) ? "seleccionado":"no-seleccionado"); output.append(s + newline); } protected String getClassName(Object o) { String classString = o.getClass().getName(); int dotIndex = classString.lastIndexOf("."); return classString.substring(dotIndex+1); } public static void main(String[] args) { ActionMenuDemo window = new ActionMenuDemo(); window.setTitle("ActionMenuDemo"); window.setSize(450, 260); window.setVisible(true); } }

Vous aimerez peut-être aussi