Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #31003

Re: ActionEvent Generator

Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!news.swapon.de!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail
From Jeff Higgins <jeff@invalid.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: ActionEvent Generator
Date Mon, 02 Feb 2015 07:38:40 -0500
Organization A noiseless patient Spider
Lines 107
Message-ID <manrac$l6t$1@dont-email.me> (permalink)
References <mamhh8$q6r$1@dont-email.me> <mamk6a$27g$1@dont-email.me>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
Injection-Date Mon, 2 Feb 2015 12:41:49 +0000 (UTC)
Injection-Info mx02.eternal-september.org; posting-host="c50a9e5d554cfaba13eda1c71e805135"; logging-data="21725"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/yg+df44CKeOmF1+rmzzSwjPCJnbtfJ7A="
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0
In-Reply-To <mamk6a$27g$1@dont-email.me>
Cancel-Lock sha1:2U4qjZUZc4AbDVnkjfnTHSJhLKs=
Xref csiph.com comp.lang.java.programmer:31003

Show key headers only | View raw


On 02/01/2015 08:30 PM, Jeff Higgins wrote:
> On 02/01/2015 07:49 PM, Jerry Stuckle wrote:
>> Hi, all,
>>
>> I have a need to generate an ActionEvent to drive handlers, and am
>> having trouble finding examples.  It doesn't seem to be as easy as a
>> PropertyChangeEvent, for which there are multiple examples.  I've also
>> looked at some of the Java source code and it seems somewhat convoluted.
>>
>> I don't need something real fancy - just the ability to generate an
>> ActionEvent in my object and have it passed to the handlers.  Can anyone
>> point me to some example code showing an easy way to do this?
>>
> <http://alvinalexander.com/java/java-action-abstractaction-actionlistener>
>
>
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class HellowSwing extends JFrame {

   public HellowSwing() {

     JButton btn = new JButton("HelloSwing");
     btn.addMouseListener(new MouseListener() {

       @Override
       public void mouseClicked(MouseEvent e) {
         StringBuilder cmd = new StringBuilder();
         cmd.append("mouse-clicked ");
         cmd.append(e.getX());
         cmd.append(" ");
         cmd.append(e.getY());
         ActionEvent ae = new ActionEvent(
             btn, ActionEvent.ACTION_PERFORMED,
             cmd.toString(),
             e.getWhen(),
             e.getModifiersEx());
         fireActionEvent(ae);
       }

       @Override
       public void mousePressed(MouseEvent e) {
         // TODO Auto-generated method stub

       }

       @Override
       public void mouseReleased(MouseEvent e) {
         // TODO Auto-generated method stub

       }

       @Override
       public void mouseEntered(MouseEvent e) {
         // TODO Auto-generated method stub

       }

       @Override
       public void mouseExited(MouseEvent e) {
         // TODO Auto-generated method stub

       }

       void fireActionEvent(ActionEvent e) {

         EventQueue.invokeLater(new Runnable() {
           @Override
           public void run() {
             ActionListener[] listeners = btn.getActionListeners();
             for (ActionListener l : listeners) {
               l.actionPerformed(e);
             }
           }
         });

       }
     });
     btn.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent e) {
         System.out.println(e.getActionCommand());
       }
     });
     add(btn);
     pack();
     setTitle("HellowSwing");
     setSize(300, 200);
     setDefaultCloseOperation(EXIT_ON_CLOSE);
   }

   public static void main(String[] args) {

     EventQueue.invokeLater(new Runnable() {
       @Override
       public void run() {
         new HellowSwing().setVisible(true);
       }
     });
   }
}

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

ActionEvent Generator Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-01 19:49 -0500
  Re: ActionEvent Generator Thomas Richter <thor@math.tu-berlin.de> - 2015-02-02 02:27 +0100
    Re: ActionEvent Generator Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-02 09:43 -0500
  Re: ActionEvent Generator Jeff Higgins <jeff@invalid.invalid> - 2015-02-01 20:30 -0500
    Re: ActionEvent Generator Jeff Higgins <jeff@invalid.invalid> - 2015-02-02 07:38 -0500
      Re: ActionEvent Generator Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-02 09:41 -0500
    Re: ActionEvent Generator Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-02 09:40 -0500
  Re: ActionEvent Generator Joerg Meier <joergmmeier@arcor.de> - 2015-02-02 08:40 +0100
    Re: ActionEvent Generator Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-02 09:57 -0500

csiph-web