/** * */ package action; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JButton; import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.AbstractAction; import javax.swing.JOptionPane; import java.awt.event.ActionEvent; import javax.swing.Action; /** * * @author vesal * @version 3.3.2011 */ public class ActionEsimerkki extends JFrame { /** */ private static final long serialVersionUID = 1L; private JPanel contentPane; private final JButton button = new JButton("New button"); private final JMenuBar menuBar = new JMenuBar(); private final JMenu menu = new JMenu("New menu"); private final JMenuItem menuItem = new JMenuItem("New menu item"); private final Action actionLajittele = new LajiteleAction(); /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { ActionEsimerkki frame = new ActionEsimerkki(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public ActionEsimerkki() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); setJMenuBar(menuBar); menuBar.add(menu); menuItem.setAction(actionLajittele); menu.add(menuItem); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); button.setAction(actionLajittele); contentPane.add(button, BorderLayout.SOUTH); } private class LajiteleAction extends AbstractAction { public LajiteleAction() { putValue(NAME, "Lajittele"); putValue(SHORT_DESCRIPTION, "Lajittele jäsenet"); } public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null, "Nyt lajitellaan"); } } }