|
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
nullprotected 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 로
동기에 실행되지 않으면 안 된다
RunnableinvokeAndWait(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 도 참조해 주세요.