如何在java中实例化处理程序

时间:2013-09-05 05:55:09

标签: java multithreading swing concurrency handler

我想在Android编程中使用处理程序,当我想将值发送回UI线程对象(如View)时。我会这样做:

Handler handler = new Handler();

这是在run方法中使用的代码:

 handler.post(new Runnable() {
              @Override
              public void run() {

                // access a view on the UI thread

              }
           });

然而,当在java swing应用程序中我想做同样的事情并且我得到编译器错误“Handler是抽象的并且无法实例化”当我尝试上面显示的相同的东西时。

 Handler handler = new Handler();

所以如果这在Android中有效,我怎么能在Java桌面应用程序中做同样的事情呢?

1 个答案:

答案 0 :(得分:1)

首先看一下Concurrency in Swing

你走在正确的轨道上,但在Swing中你需要使用SwingUtilities.invokeLater(Runnable)代替;)