我修改張貼甲骨文/ Sun AWT教程頁上的Activator
示例代碼here爲什麼在AWT組件中運行線程循環會阻止WindowHandler執行?
的修改如下
f.add(new MyCanvas(f.getGraphicsConfiguration()),
BorderLayout.CENTER);
在MyCanvas的塗料方法如下
MyCustomRunnable mcr = new MyCustomRunnable();
Thread th = new Thread(mcr);
th.start();
while(Thread.currentThread().isAlive()){
mcr.getData();
//do UI stuff
Thread.yield();
}
被覆蓋
類似地MyCustomRunnable
在run()
public void run(){
while(Thread.currentThread().isAlive){
//do Stuff
Thread.yield();
}
}
Runnable
和Canvas paint(都)運行循環。運行這段代碼時,不會調用UI窗口上的系統菜單關閉。爲什麼?
爲什麼在這個千年中使用AWT組件編碼?大多數使用過它的人已經忘記了方法,因此答案也不那麼有價值。 – 2012-01-09 19:58:29
沒有冒犯,但是...因爲它在那裏(+: 這是當我在00年開始學習java時發生的事情,所以當我必須做一些需要UI的東西時,我選擇了相對熟悉的東西開始。 – Everyone 2012-01-09 20:19:55