사용 Display#timerExec(int, Runnable)
: 지정된 밀리 초 경과 후
은 실행 가능한의 run() 메소드 원인은 사용자 인터페이스 스레드에 의해 호출된다. 밀리 세컨드가 0보다 작은 경우, 실행 가능 오브젝트는 실행되지 않습니다.
실행 가능 파일이 호출 될 때 수신기가 표시 장치로 설정된 위젯이 삭제되었을 수 있습니다. 따라서 위젯에 액세스하기 전에 실행 파일 내에서이 경우를 확인해야합니다.
public static void main(String[] args)
{
final Display display = new Display();
Shell shell = new Shell();
shell.setLayout(new FillLayout());
final Label status = new Label(shell, SWT.NONE);
status.setText("0");
display.timerExec(100, new Runnable()
{
int i = 1;
@Override
public void run()
{
if(!status.isDisposed())
status.setText(i++ + "");
display.timerExec(100, this);
}
});
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
}
출처
2014-07-16 13:19:14
Baz