java的AbstractAction类用法示例(利用java的AbstractAction处理事件)

java的AbstractAction类用法示例(利用java的AbstractAction处理事件)
功能:实现一个窗体中两个顶层菜单,四个菜单项,单击相应的 菜单项,弹出相应的 消息框。

注意红色代码

 

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

//此类继承AbstractAction,实现actionPerformed()方法。 class AbstractEvent extends AbstractAction{ //private static final long serialVersionUID = 1L; AbstractEvent(){ } public void actionPerformed(ActionEvent e){ //弹出确认对话框 if (e.getActionCommand()=="open"){ JOptionPane.showMessageDialog(null, "打开"); }else if (e.getActionCommand()=="close"){ JOptionPane.showMessageDialog(null, "关闭"); }else if (e.getActionCommand()=="run"){ JOptionPane.showMessageDialog(null, "运行"); }else if (e.getActionCommand()=="stop"){ JOptionPane.showMessageDialog(null, "停止"); } } } public class TestAbstractEvent {
	private static JMenuBar menubar;
	private static JFrame frame;
	
	//指定MenuEvent的具体处理程序是AbstractEvent类完成的。
	final Action MenuEvent=new AbstractEvent();
	public TestAbstractEvent(){
		frame=new JFrame("menu");
		frame.getContentPane().setLayout(new BorderLayout());
		menubar=new JMenuBar();
		JMenu menuFile=new JMenu("file");
		
		//实例化一个菜单项,并添加监听openAction,
		JMenuItem menuItemopen=new JMenuItem("open");
		menuItemopen.addActionListener(MenuEvent); 		JMenuItem menuItemclose=new JMenuItem("close");
		menuItemclose.addActionListener(MenuEvent); 		menuFile.add(menuItemopen);
		menuFile.add(menuItemclose);
		JMenu menuTool=new JMenu("tool");
		JMenuItem menuItemrun=new JMenuItem("run");
		menuItemrun.addActionListener(MenuEvent); 		JMenuItem menuItemstop=new JMenuItem("stop");
		menuItemstop.addActionListener(MenuEvent); 		menuTool.add(menuItemrun);
		menuTool.add(menuItemstop);
		menubar.add(menuFile);
		menubar.add(menuTool);
	    menubar.setVisible(true);
	    frame.add(menubar,BorderLayout.NORTH);
	    frame.setSize(400,200);
	    frame.setVisible(true);
	}
	public static void main(String[] args){
		new TestAbstractEvent();
	}
}


 

你可能感兴趣的:(java,String,null,Class,action,import)