java.lang.Object java.awt.EventQueue
public class EventQueue
EventQueue
is a platform-independent class that queues events, both from the underlying peer classes and from trusted application classes.
It encapsulates asynchronous event dispatch machinery which extracts events from the queue and dispatches them by calling dispatchEvent(AWTEvent)
method on this EventQueue
with the event to be dispatched as an argument. The particular behavior of this machinery is implementation-dependent. The only requirements are that events which were actually enqueued to this queue (note that events being posted to the EventQueue
can be coalesced) are dispatched:
AWTEvent
A is enqueued to the EventQueue
before AWTEvent
B then event B will not be dispatched before event A.
Some browsers partition applets in different code bases into separate contexts, and establish walls between these contexts. In such a scenario, there will be one EventQueue
per context. Other browsers place all applets into the same context, implying that there will be only a single, global EventQueue
for all applets. This behavior is implementation-dependent. Consult your browser's documentation for more information.
For information on the threading issues of the event dispatch machinery, see AWT Threading Issues.
protected void
dispatchEvent(AWTEvent event)
static AWTEvent
getCurrentEvent()
EventQueue
associated with the calling thread. static long
getMostRecentEventTime()
EventQueue
associated with the calling thread. AWTEvent
getNextEvent()
EventQueue
and returns it. static void
invokeAndWait(Runnable runnable)
runnable
to have its run
method called in the dispatch thread of the EventQueue
. static void
invokeLater(Runnable runnable)
runnable
to have its run
method called in the dispatch thread of the EventQueue
. static boolean
isDispatchThread()
EventQueue
's dispatch thread. AWTEvent
peekEvent()
EventQueue
without removing it. AWTEvent
peekEvent(int id)
protected void
pop()
EventQueue
. void
postEvent(AWTEvent theEvent)
EventQueue
. void
push(EventQueue newEventQueue)
EventQueue
with the specified one. Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
EventQueue
public EventQueue()
public void postEvent(AWTEvent theEvent)
EventQueue
. If there is an existing event on the queue with the same ID and event source, the source Component
's coalesceEvents
method will be called.
theEvent
- an instance of java.awt.AWTEvent
, or a subclass of it
NullPointerException
- if theEvent
is null
public AWTEvent getNextEvent() throws InterruptedException
EventQueue
and returns it. This method will block until an event has been posted by another thread.
AWTEvent
InterruptedException
- if another thread has interrupted this thread
public AWTEvent peekEvent()
EventQueue
without removing it.
public AWTEvent peekEvent(int id)
id
- the id of the type of event desired
null
if there is no such event
protected void dispatchEvent(AWTEvent event)
event
- an instance of java.awt.AWTEvent
, or a subclass of it
NullPointerException
- if event
is null
public static long getMostRecentEventTime()
EventQueue
associated with the calling thread. If an event with a timestamp is currently being dispatched, its timestamp will be returned. If no events have yet been dispatched, the EventQueue's initialization time will be returned instead.In the current version of the JDK, only InputEvent
s, ActionEvent
s, and InvocationEvent
s have timestamps; however, future versions of the JDK may add timestamps to additional event types. Note that this method should only be invoked from an application's event dispatching thread. If this method is invoked from another thread, the current system time (as reported by System.currentTimeMillis()
) will be returned instead.
InputEvent
, ActionEvent
, or InvocationEvent
to be dispatched, or System.currentTimeMillis()
if this method is invoked on a thread other than an event dispatching thread
InputEvent.getWhen()
, ActionEvent.getWhen()
, InvocationEvent.getWhen()
public static AWTEvent getCurrentEvent()
EventQueue
associated with the calling thread. This is useful if a method needs access to the event, but was not designed to receive a reference to it as an argument. Note that this method should only be invoked from an application's event dispatching thread. If this method is invoked from another thread, null will be returned.
public void push(EventQueue newEventQueue)
EventQueue
with the specified one. Any pending events are transferred to the new EventQueue
for processing by it.
newEventQueue
- an EventQueue
(or subclass thereof) instance to be use
NullPointerException
- if newEventQueue
is null
pop()
protected void pop() throws EmptyStackException
EventQueue
. Any pending events are transferred to the previous EventQueue
for processing.
Warning: To avoid deadlock, do not declare this method synchronized in a subclass.
EmptyStackException
- if no previous push was made on this EventQueue
push(java.awt.EventQueue)
public static boolean isDispatchThread()
EventQueue
's dispatch thread. Use this call the ensure that a given task is being executed (or not being) on the current AWT EventDispatchThread
.
EventQueue
's dispatch thread
public static void invokeLater(Runnable runnable)
runnable
to have its run
method called in the dispatch thread of the EventQueue
. This will happen after all pending events are processed.
runnable
- the Runnable
whose run
method should be executed synchronously on the EventQueue
invokeAndWait(java.lang.Runnable)
public static void invokeAndWait(Runnable runnable) throws InterruptedException, InvocationTargetException
runnable
to have its run
method called in the dispatch thread of the EventQueue
. This will happen after all pending events are processed. The call blocks until this has happened. This method will throw an Error if called from the event dispatcher thread.
runnable
- the Runnable
whose run
method should be executed synchronously on the EventQueue
InterruptedException
- if another thread has interrupted this thread
InvocationTargetException
- if an throwable is thrown when running runnable
invokeLater(java.lang.Runnable)
Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4