javafx线程的问题

时间:2014-04-08 17:31:21

标签: java multithreading netbeans javafx

我正在做一个javafx应用程序并尝试使用线程。我对s.o上的类似问题进行了一些研究,但没有一个能够完全回答我的问题。

这是我第一次使用java fx中的线程。

此代码从互联网下载2张图像并将其显示在ImageView中,还会返回一些文本并将其放入textArea中。没有线程执行的这段代码将花费大约15秒的GUI冻结。

    Service<Void> service = new Service<Void>() {
        @Override
        protected Task <Void> createTask() {
            return new Task<Void>() {           
                @Override
                protected Void call() throws Exception { 

                    //Background work with long tasks

           return null;
            }

    };
                        Platform.runLater(new Runnable() {   
                        @Override
                        public void run() {
                            try {

                                //Update GUI (short task)
                    });
                    return null;
                } 
            };
        }
    };
    service.start();

但是当我使用并发线程执行此代码时,GUI不再被冻结(至少)但代码不能很好地执行(图像不会下载,因此GUI不会更新)。在这些情况下我该怎么办?

0 个答案:

没有答案