|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.awt.EventQueue
public class EventQueue
EventQueue
는 어느 플랫폼으로도 공통의 클래스이며, 기본이 되는 피어 클래스와 신뢰할 수 있는 어플리케이션 클래스로부터의 이벤트를 큐에 넣습니다.
큐로부터 이벤트를 추출하는 비동기 이벤트발송 기구를 캡슐화해, 발송 되는 이벤트를 인수로서 EventQueue
의 dispatchEvent(AWTEvent)
메소드를 호출하는 것으로 발송 합니다. 실제의 동작은 구현에 따라서 다릅니다. 유일한 제한은, 이 큐 (EventQueue
에 보내진 이벤트는 합체 할 수 있다)에 실제로 넣을 수 있던 이벤트입니다.
AWTEvent
A 가 AWTEvent
B 보다 전에 EventQueue
에 넣어지고 있는 경우, 이벤트 B 를 이벤트 A 보다 전에 발송 할 수 없습니다.
일부의 브라우저는, 다른 코드 베이스의 애플릿을 다른 문맥에 분할해, 이러한 문맥의 사이에 벽을 구축합니다. 이 경우, 각 문맥 마다 1 개의 EventQueue
가 존재하게 됩니다. 모든 애플릿을 같은 문맥에 두어, 1 개의 글로벌 EventQueue
로 모든 애플릿을 동작시키는 브라우저도 있습니다. 이 동작은 구현에 의존합니다. 자세한 것은 브라우저의 메뉴얼을 참조해 주세요.
이벤트발송 기능의 thread 문제에 대해서는「AWT Threading Issues」를 참조해 주세요.
생성자 의 개요 | |
---|---|
EventQueue ()
|
메소드의 개요 | |
---|---|
protected void |
dispatchEvent (AWTEvent event)
이벤트를 발송 합니다. |
static AWTEvent |
getCurrentEvent ()
불려 간 thread에 관련지을 수 있었던 EventQueue 에 현재 발송 되고 있는 이벤트를 돌려줍니다. |
static long |
getMostRecentEventTime ()
불려 간 thread에 관련지을 수 있었던 EventQueue 로부터 발송 된, 제일 새로운 타임 스탬프를 가지는 이벤트의 타임 스탬프를 돌려줍니다. |
AWTEvent |
getNextEvent ()
EventQueue 로부터 이벤트를 삭제해, 그 이벤트를 돌려줍니다. |
static void |
invokeAndWait (Runnable runnable)
runnable 의 run 메소드가 the system EventQueue 의 발송쓰레드로 불려 가도록(듯이) 합니다. |
static void |
invokeLater (Runnable runnable)
runnable 의 run 메소드가 the system EventQueue 의 발송쓰레드로 불려 가도록(듯이) 합니다. |
static boolean |
isDispatchThread ()
호출측 thread가 현재의 AWT EventQueue 의 발송쓰레드의 경우에 true 를 돌려줍니다. |
AWTEvent |
peekEvent ()
EventQueue 의 최초의 이벤트를 삭제하지 않고 돌려줍니다. |
AWTEvent |
peekEvent (int id)
지정된 ID 를 가지는 이벤트가 있는 경우, 그 중의 최초의 이벤트를 돌려줍니다. |
protected void |
pop ()
이 EventQueue 를 사용하는 이벤트의 발송를 정지합니다. |
void |
postEvent (AWTEvent theEvent)
1. 1 형식의 이벤트를 EventQueue 에 송신합니다. |
void |
push (EventQueue newEventQueue)
기존의 EventQueue 를, 지정된 EventQueue 로 옮겨놓습니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public EventQueue()
메소드의 상세 |
---|
public void postEvent(AWTEvent theEvent)
EventQueue
에 송신합니다. 같은 ID 및 이벤트 소스를 가지는 큐에 이벤트가 있는 경우는, 소스 Component
의 coalesceEvents
메소드가 불려 갑니다.
theEvent
- java.awt.AWTEvent
의 인스턴스, 또는 그 서브 클래스
NullPointerException
- theEvent
가 null
의 경우public AWTEvent getNextEvent() throws InterruptedException
EventQueue
로부터 이벤트를 삭제해, 그 이벤트를 돌려줍니다. 이 메소드는, 다른 thread에 의해 이벤트가 송신될 때까지 블록 됩니다.
AWTEvent
InterruptedException
- 어떠한 thread가 이 thread에 끼어들었을 경우public AWTEvent peekEvent()
EventQueue
의 최초의 이벤트를 삭제하지 않고 돌려줍니다.
public AWTEvent peekEvent(int id)
id
- 요구하는 이벤트형의 ID
null
protected void dispatchEvent(AWTEvent event)
이벤트형 | 소스형 | 발송 방법 |
---|---|---|
ActiveEvent | Any | event.dispatch() |
그 외 | Component | source.dispatchEvent(AWTEvent) |
그 외 | MenuComponent | source.dispatchEvent(AWTEvent) |
그 외 | 그 외 | 처리되지 않는다 (무시된다) |
event
- java.awt.AWTEvent
의 인스턴스,
또는 그 서브 클래스
NullPointerException
- event
가 null
의 경우public static long getMostRecentEventTime()
EventQueue
로부터 발송 된, 제일 새로운 타임 스탬프를 가지는 이벤트의 타임 스탬프를 돌려줍니다. 타임 스탬프를 가지는 이벤트가 발송중의 경우, 그 타임 스탬프가 돌려주어집니다. 이벤트가 전혀 발송되어 있지 않은 경우, EventQueue 가 초기화된 시간이 돌려주어집니다. JDK 의 현재의 버젼에서는,InputEvent
,ActionEvent
, 및 InvocationEvent
만이 타임 스탬프를 가집니다만, 장래의 버젼에서는 다른 이벤트형에도 타임 스탬프가 추가될 가능성이 있습니다. 이 메소드는 어플리케이션의 이벤트발송쓰레드로부터만 호출하도록 해 주세요. 다른 thread로부터 호출했을 경우,System.currentTimeMillis()
로 리포트되는 현재의 시스템 시각이 돌려주어집니다.
InputEvent
,
ActionEvent
, 또는 InvocationEvent
의 타임 스탬프.
이 메소드가 이벤트발송쓰레드 이외의
thread로부터 불려 가는 경우는
System.currentTimeMillis()
InputEvent.getWhen()
,
ActionEvent.getWhen()
,
InvocationEvent.getWhen()
public static AWTEvent getCurrentEvent()
EventQueue
에 현재 발송 되고 있는 이벤트를 돌려줍니다. 메소드가 이벤트에 액세스 할 필요가 있어, 이벤트에의 참조를 인수로서 받도록(듯이) 설계되어 있지 않은 경우에 유효합니다. 이 메소드는 어플리케이션의 이벤트발송쓰레드로부터만 호출하도록 해 주세요. 다른 thread로부터 호출했을 경우, null 가 돌려주어집니다.
public void push(EventQueue newEventQueue)
EventQueue
를, 지정된 EventQueue
로 옮겨놓습니다. 대기 상태의 이벤트는, 처리를 위해서(때문에) 새로운 EventQueue
에 전송 됩니다.
newEventQueue
- 사용되는 EventQueue
또는 그 서브 클래스의 인스턴스
NullPointerException
- newEventQueue
가 null
의 경우pop()
protected void pop() throws EmptyStackException
EventQueue
를 사용하는 이벤트의 발송를 정지합니다. 대기 상태의 이벤트는, 처리를 위해서(때문에) 전의 EventQueue
에 전송 됩니다. 경고:데드락 회피를 위해, 이 메소드를 서브 클래스에서 동기 선언하지 않게 합니다.
EmptyStackException
- 이 EventQueue
로 이전에 푸쉬를 하지 않은 경우push(java.awt.EventQueue)
public static boolean isDispatchThread()
EventQueue
의 발송쓰레드의 경우에 true 를 돌려줍니다. 이 메소드를 사용하면(자), 지정된 태스크를 현재의 AWT EventDispatchThread
로 확실히 실행시키는 (또는 실행시키지 않게 한다) 일이 생깁니다.
EventQueue
의 발송쓰레드로 동작하고 있는 경우는 truepublic static void invokeLater(Runnable runnable)
runnable
의 run
메소드가 the system EventQueue
의 발송쓰레드로 불려 가도록(듯이) 합니다. 대기 상태의 모든 이벤트가 처리된 후에 실행됩니다.
runnable
- run
메소드가 EventQueue
로
동기에 실행되지 않으면 안 된다
Runnable
invokeAndWait(java.lang.Runnable)
public static void invokeAndWait(Runnable runnable) throws InterruptedException , InvocationTargetException
runnable
의 run
메소드가 the system EventQueue
의 발송쓰레드로 불려 가도록(듯이) 합니다. 대기 상태의 모든 이벤트가 처리된 후에 실행됩니다. 호출은 이것이 실행될 때까지 블록 됩니다. 이 메소드는, 이벤트 디스펫쳐 thread로부터 불려 가면(자) Error 를 throw 합니다.
runnable
- run
메소드가 EventQueue
로
동기에 실행되지 않으면 안 된다
Runnable
InterruptedException
- 어떠한 thread가
이 thread에 끼어들었을 경우
InvocationTargetException
- runnable
의 동작중에
Throwable 가 throw 되는 경우invokeLater(java.lang.Runnable)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.