Example usage for javafx.concurrent Service getValue

List of usage examples for javafx.concurrent Service getValue

Introduction

In this page you can find the example usage for javafx.concurrent Service getValue.

Prototype

@Override
    public final V getValue() 

Source Link

Usage

From source file:dtv.controller.FXMLMainController.java

private void handleTask(Service<List<DVBChannel>> task, String zeTitle, String action) throws Exception {

    pi.visibleProperty().bind(task.runningProperty());
    pi.progressProperty().bind(task.progressProperty());

    task.setOnSucceeded(t -> {/*  ww w. j a  v a  2 s. c  om*/
        // print services into tableview
        List<DVBChannel> dvbServices = task.getValue();
        if (dvbServices != null) {
            if (action.contains(DVB_S2)) {
                serviceDataS2.setAll(dvbServices);
                serviceDVBS2Table.setItems(sortedDataS2);
            } else if (action.contains(DVB_T2)) {
                serviceDataT2.setAll(dvbServices);
                serviceDVBT2Table.setItems(sortedDataT2);
            }
        }

        if (zeTitle != null)
            title.setText(zeTitle);
        disableComponents(false);
    });

    task.setOnFailed(t -> {
        LOG.error("Exception while executing task", task.getException());
        Message.errorMessage("Error " + action + "\n" + task.getException().getMessage());
    });

    if (!task.isRunning()) {
        task.reset();
        task.start();
    }
}