Swing - como add action a um botão

Pessoal. to iniciando agora com java.

to tentando criar um menu simples com o swing mas não consigo add uma action ao item do menu…

Só quero colocar um evento de quando clicar nos itens do menu e enviar uma msg no console mas não estou conseguindo implementar…
Dei uma olhada na api e não encontrei nenhum onClick ou algo semelhante.

Application.java

import java.awt.BorderLayout;
import javax.swing.JFrame;

public class Application extends JFrame {

	private static final long serialVersionUID = 1L;


	public Application(){
		setSize(600, 400);
		setTitle("Default Title!");
		setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Application application = new Application();
		ApplicationMenu menu = new ApplicationMenu();
		
		
		application.add(menu, BorderLayout.NORTH);
		application.setVisible(true);	
	}

}

ApplicationMenu.java

import java.util.Vector;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;


public class ApplicationMenu extends JMenuBar{
	
	private Vector<JMenuItem> menuItems = new Vector<JMenuItem>();
	private static final long serialVersionUID = 1L;
	

	
	public ApplicationMenu(){
		
		
		JMenuItem item;		
		
		item = new JMenuItem("Menu Item 0");
		this.menuItems.add(item);
		
		item = new JMenuItem("Menu Item 1");
		this.menuItems.add(item);
		
		item = new JMenuItem("Menu Item 2");
		this.menuItems.add(item);
		
		item = new JMenuItem("Menu Item 3");
		this.menuItems.add(item);
		
		item = new JMenuItem("Menu Item 4");
		this.menuItems.add(item);
		
		for(JMenuItem menuItem : this.menuItems) this.add(menuItem);
	}
	
}

Desde já muito obrigado

Olá, você poderia implementar o ActionListener assim então no componente que deverá ter um action voce faz component.addActionListener(this);

Ou você pode fazer uma classe anônima mesmo.

component.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //TODO: Implementar ação aqui. } });

Espero que ajude.

ajudou sim…

ainda não está agindo como eu queria. mas esse problema foi resolvido.

eu gostaria que mudasse o estado(icone) do mouse no eventos de mouse over/out

pb600
Eu gostaria de saber oque significa aquele anotation @override

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;


public class ApplicationMenu extends JMenuBar{
	
	private Vector<JMenuItem> menuItems = new Vector<JMenuItem>();
	private static final long serialVersionUID = 1L;
	

	
	public ApplicationMenu(){
		
		
		JMenuItem item;		
		
		item = new JMenuItem("Menu Item 0");
		item.addActionListener(new ActionListener() {  
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				System.out.println("opção 0");
				
			}  
        });
		this.menuItems.add(item);
		
		item = new JMenuItem("Menu Item 1");
		item.addActionListener(new ActionListener() {  
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				System.out.println("opção 1");
				
			}  
        });
		this.menuItems.add(item);
		
		item = new JMenuItem("Menu Item 2");
		item.addActionListener(new ActionListener() {  
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				System.out.println("opção 2");
				
			}  
        });
		this.menuItems.add(item);
		
		item = new JMenuItem("Menu Item 3");
		item.addActionListener(new ActionListener() {  
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				System.out.println("opção 3");
				
			}  
        });
		this.menuItems.add(item);
		
		item = new JMenuItem("Menu Item 4");
		item.addActionListener(new ActionListener() {  
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				System.out.println("opção 4");
				
			}  
        });
		this.menuItems.add(item);
		
		for(JMenuItem menuItem : this.menuItems) this.add(menuItem);
	}
	
}

erickrf

Veja se ajuda:

abs