ActionEvent.java
上传用户:haobig99
上传日期:2022-06-15
资源大小:369k
文件大小:4k
源码类别:

J2ME

开发平台:

Java

  1. /*
  2.  * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
  3.  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  4.  *
  5.  * This code is free software; you can redistribute it and/or modify it
  6.  * under the terms of the GNU General Public License version 2 only, as
  7.  * published by the Free Software Foundation.  Sun designates this
  8.  * particular file as subject to the "Classpath" exception as provided
  9.  * by Sun in the LICENSE file that accompanied this code.
  10.  *
  11.  * This code is distributed in the hope that it will be useful, but WITHOUT
  12.  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13.  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14.  * version 2 for more details (a copy is included in the LICENSE file that
  15.  * accompanied this code).
  16.  *
  17.  * You should have received a copy of the GNU General Public License version
  18.  * 2 along with this work; if not, write to the Free Software Foundation,
  19.  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20.  *
  21.  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  22.  * CA 95054 USA or visit www.sun.com if you need additional information or
  23.  * have any questions.
  24.  */
  25. package com.sun.lwuit.events;
  26. import com.sun.lwuit.Command;
  27. /**
  28.  * Event object delivered when an {@link ActionListener} callback is invoked
  29.  * 
  30.  * @author Chen Fishbein
  31.  */
  32. public class ActionEvent {
  33.     private boolean consumed;
  34.     
  35.     private Object source;
  36.     
  37.     private int keyEvent = -1;
  38.     private int y = -1;
  39.     
  40.     /**
  41.      * Creates a new instance of ActionEvent
  42.      * @param source element for the action event
  43.      */
  44.     public ActionEvent(Object source) {
  45.         this.source = source;
  46.     }
  47.     /**
  48.      * Creates a new instance of ActionEvent
  49.      * @param source element for the action event
  50.      * @param keyEvent the key that triggered the event
  51.      */
  52.     public ActionEvent(Object source, int keyEvent) {
  53.         this.source = source;
  54.         this.keyEvent = keyEvent;
  55.     }
  56.     /**
  57.      * Creates a new instance of ActionEvent as a pointer event
  58.      *
  59.      * @param source element for the pointer event
  60.      * @param x the x position of the pointer event
  61.      * @param y the y position of the pointer event
  62.      */
  63.     public ActionEvent(Object source, int x, int y) {
  64.         this.source = source;
  65.         this.keyEvent = x;
  66.         this.y = y;
  67.     }
  68.     /**
  69.      * The element that triggered the action event, useful for decoupling event
  70.      * handling code
  71.      * @return the element that triggered the action event
  72.      */
  73.     public Object getSource(){
  74.         return source;
  75.     }
  76.     /**
  77.      * If this event was triggered by a key press this method will return the 
  78.      * appropriate keycode
  79.      * @return the key that triggered the event
  80.      */
  81.     public int getKeyEvent() {
  82.         return keyEvent;
  83.     }
  84.     /**
  85.      * If this event was sent as a result of a command action this method returns
  86.      * that command
  87.      * @return the command action that triggered the action event
  88.      */
  89.     public Command getCommand() {
  90.         if(source instanceof Command) {
  91.             return (Command)source;
  92.         }
  93.         return null;
  94.     }
  95.     
  96.     /**
  97.      * Consume the event indicating that it was handled thus preventing other action
  98.      * listeners from handling/receiving the event
  99.      */
  100.     public void consume() {
  101.         consumed = true;
  102.     }
  103.     
  104.     /**
  105.      * Returns true if the event was consumed thus indicating that it was handled.
  106.      * This prevents other action listeners from handling/receiving the event
  107.      * 
  108.      * @return true if the event was consumed
  109.      */
  110.     public boolean isConsumed() {
  111.         return consumed;
  112.     }
  113.     /**
  114.      * The X position if this is a pointer event otherwise undefined
  115.      *
  116.      * @return x position
  117.      */
  118.     public int getX() {
  119.         return keyEvent;
  120.     }
  121.     /**
  122.      * The Y position if this is a pointer event otherwise undefined
  123.      *
  124.      * @return y position
  125.      */
  126.     public int getY() {
  127.         return y;
  128.     }
  129. }