`
wandejun1012
  • 浏览: 2730787 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

AbstractAction举例

    博客分类:
  • java
 
阅读更多

abstractAction主要是可以统一定制,不需要像actionListener要一个一个去注册。

 

具体代码如下:

Jframe中一共3个地方用到了abstractAction:jmenuitem,jtoobar,jbutton

 

 

package testAbstractClass;

import java.awt.*;  
import java.awt.event.*;  
import javax.swing.*;  
import javax.swing.event.*;  
  
public class AbstractActionDemo1 extends JFrame {  
    JTextArea theArea = null;  
    ToolBarAction pushAction = null;  
      
    public AbstractActionDemo1(){  
        super("AbstractAction");  
        theArea = new JTextArea();  
        theArea.setEditable(true);  
        this.getContentPane().add(new JScrollPane(theArea));  
          
          
        pushAction = new ToolBarAction("按我",null);  
          
        JMenuBar menuBar = buildJMenuBar();  
        menuBar.setOpaque(true);  
        JToolBar toolBar = buildJToolBar();  
        this.getContentPane().add(toolBar,BorderLayout.NORTH);  
        
        JButton jb=new JButton(pushAction);
        this.getContentPane().add(jb,BorderLayout.WEST);  
        
        this.setJMenuBar(menuBar);  
        this.setVisible(true);  
        this.setBounds(new Rectangle(200,200,400,200));  
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
    }  
      
    public static void main(String...args){  
        new AbstractActionDemo1();  
    }  
      
    public JMenuBar buildJMenuBar(){  
        JMenu fileMenu = new JMenu("File");  
        fileMenu.setMnemonic('F');  
        fileMenu.add(pushAction);  
        JMenuBar menuBar = new JMenuBar();  
        menuBar.add(fileMenu);
        return menuBar;  
    }  
      
    public JToolBar buildJToolBar(){  
        JToolBar toolBar = new JToolBar();  
        toolBar.add(pushAction);  
        toolBar.setFloatable(true);  
        return toolBar;  
          
    }  
      
    class ToolBarAction extends AbstractAction{  
        public ToolBarAction(String name,Icon icon){  
            super(name,icon);  
        }  
        @Override  
        public void actionPerformed(ActionEvent e){  
            theArea.append("這是Action的好處\n");  
        }  
    }  
}  
分享到:
评论

相关推荐

    java-abstract-actions:使用 Java 的 AbstractActions 类在 Swing GUI 中实现命令模式的概念证明

    在Java Swing GUI开发中,`AbstractAction`类是一个非常重要的组件,它允许我们实现命令模式,从而更好地管理用户界面中的动作和事件。`AbstractAction`是`javax.swing.Action`接口的一个具体实现,提供了创建可复用...

    java pdf 查看器

    Action printAction = new AbstractAction("Print...", getIcon("gfx/print.gif")) { public void actionPerformed(ActionEvent evt) { doPrint(); } }; Action closeAction = new AbstractAction("Close") {...

    一个GUI程序示例

    1. **AbstractAction类**:此程序使用了`AbstractAction`类作为自定义动作的基础类。`AbstractAction`是Swing框架提供的抽象类,用于封装用户界面上某个操作的行为。通过继承`AbstractAction`并重写其方法(如`...

    java图形编程:Action接口(Swing新增功能)专题借鉴.pdf

    一般不直接实现 Action 接口,而是使用继承自 Action 的抽象类 AbstractAction,该类的实现了 Action 接口中的一般方法,而且保留了 actionPerformen 方法留给用户实现。 5. 使用 Action 的步骤 使用 Action 的...

    Struts2、Spring和Hibernate应用实例.doc

    - **AbstractAction类**:在Struts2中,Action类无需继承特定的类或实现特定的接口,但在实际开发中通常会继承`ActionSupport`类。建立一个抽象基类`AbstractAction`,并重写`execute()`方法,可以提高代码的复用性...

    java图形编程:Action接口(Swing新增功能)专题[定义].pdf

    在使用Action接口时,通常不直接实现Action接口,而是使用继承自Action的抽象类AbstractAction,该类实现了Action接口中的大多数方法,并保留了actionPerformed方法留给用户实现。 使用Action的步骤包括继承...

    java项目_吃豆豆_源码及文档

    内部类 private class RightListenerImpl extends AbstractAction 内部类 - 向右按键事件。 private class DownListenerImpl extends AbstractAction 内部类 - 向下按键事件。 private class DownListenerImpl ...

    窗体按钮事件

    Swing提供了`AbstractAction`类,它不仅是一个`ActionListener`,还允许设置动作名称、图标等属性。你可以创建`AbstractAction`的实例,然后将其添加到按钮上: ```java JButton button = new JButton(new ...

    struts2 + spring2 + hibernate3 .pdf

    根据提供的文件信息,本文将详细解析“Struts2 + Spring2 + Hibernate3”技术栈的集成与应用。本文主要从项目准备、环境...此外,通过自定义 `AbstractAction` 类和 `Pager` 类,进一步提高了项目的可复用性和扩展性。

    java常见事件响应方法实例汇总

    以上就是Java中常见的事件响应方法,包括直接在类中实现监听接口、创建独立的监听类以及使用`AbstractAction`和反射。选择哪种方法取决于具体的需求,如代码组织、可维护性和功能复杂度等因素。对于初学者来说,理解...

    Struts2、Spring和Hibernate应用实例

    为了便于后续的开发工作,我们首先定义一些基础的公共类,如`AbstractAction`类,用于被其他Action类继承。 **AbstractAction类** Struts2和Struts1.x的一个显著差异在于Struts2采用了Pull-MVC架构,这意味着...

    计算器_j2se项目源码及介绍

    内部类 private class ButtonListener extends AbstractAction 按钮事件。包括+、-、*、/、1/x、数字等按钮事件。 此类继承AbstractAction 类名称 CalculateButton 类描述 定制自己的按钮类。练习自己定制按钮。...

    Java程序开发教学课件:12GUI程序设计与Applet2.pptx

    为了方便,我们通常使用已经实现了大部分Action接口方法的AbstractAction类作为基类,重写actionPerformed()方法来实现自定义的行为。 在实际编程中,我们可以创建一个TextAction类继承自AbstractAction,然后在...

    SSH三大框架应用实例

    public abstract class AbstractAction extends ActionSupport { // 可以在这里定义所有Action类公用的方法和属性 // 例如:初始化方法、错误处理等 } ``` #### 四、具体实现 接下来,我们将详细介绍如何使用...

    java俄罗斯方块

    根据提供的文件信息,我们可以分析出该Java代码片段与一个名为“BuyEquipAction”的类有关,这个类继承自`AbstractAction`。此代码片段是用于处理用户购买装备逻辑的一部分,涉及到了参数验证、权限检查以及资源消耗...

    java 记事本

    - 定义了一系列的`AbstractAction`子类,如`NewAction`、`OpenAction`等,每个子类覆盖了`actionPerformed`方法以执行相应的操作。 - 例如,在`NewAction`类中,`actionPerformed`方法通过设置一个新的`...

    Struts2 Spring和Hibernate应用实例

    1. **AbstractAction类**:在Struts2中,尽管Action类理论上无需继承特定的类,但在实际开发中,继承`ActionSupport`类并重写`execute()`方法是一种常见做法。通过创建一个抽象的`AbstractAction`类,我们可以定义...

    2021-2022计算机二级等级考试试题及答案No.3843.docx

    1. 动作时间监听器的实现方式:在Java Swing编程中,可以有两种方式实现动作事件监听器,一是实现`ActionListener`接口并重写`actionPerformed`方法,二是继承`AbstractAction`或`ActionAdapter`类。但题目中提到的`...

Global site tag (gtag.js) - Google Analytics