use of javafx.concurrent.Task in project Gargoyle by callakrsos.
the class ScheduleTimeLineComposite method initialize.
@FXML
public void initialize() {
Monitors.addListener(this);
Main.addPrimaryStageCloseListener(this);
chartTimeLine.setVerticalGridLinesVisible(false);
ObservableList<Series<String, Number>> data = chartTimeLine.getData();
// allJvmProcessSeries = new Series<String, Number>();
// allJvmProcessSeries.setName("All JVM Process");
// data.add(allJvmProcessSeries);
passBatchProcessSeries = new Series<String, Number>();
passBatchProcessSeries.setName("Java Process");
data.add(passBatchProcessSeries);
// monitorService.setOnRunning(ev ->{
// System.err.println("running~~~~~~~~~~~~~~~~~~~");
// });
// monitorService.setOnScheduled(ev ->{
// System.err.println("service schedule.....");
// });
monitorService = new Service<Void>() {
@Override
protected Task<Void> createTask() {
return new Task<Void>() {
@Override
protected Void call() throws Exception {
Thread.sleep(1000);
String mmss = format.format(new Date());
updateMessage(mmss);
return null;
}
};
}
};
monitorService.messageProperty().addListener((oba, oldval, newval) -> {
if (newval == null || newval.isEmpty())
return;
ObservableList<Data<String, Number>> seriesData = passBatchProcessSeries.getData();
Data<String, Number> e = new Data<String, Number>(newval, Monitors.getActivedJavaProcessCount());
e.setNode(new Rectangle(1, 1));
seriesData.add(e);
if (seriesData.size() > CHART_SHOWING_ITEM_COUNT) {
seriesData.remove(0);
}
});
monitorService.setOnSucceeded(ev -> {
if (running.get()) {
monitorService.restart();
onTickTock();
}
});
monitorService.start();
}
use of javafx.concurrent.Task in project arquivoProject by fader-azevedo.
the class PdfViewerController method updateImage.
// *************** Background image loading ****************
private void updateImage(final int pageNumber) {
final Task<ImageView> updateImageTask = new Task<ImageView>() {
@Override
protected ImageView call() throws Exception {
PDFPage page = currentFile.get().getPage(pageNumber + 1);
Rectangle2D bbox = page.getBBox();
final double actualPageWidth = bbox.getWidth();
final double actualPageHeight = bbox.getHeight();
// record page dimensions for zoomToFit and zoomToWidth:
currentPageDimensions = new PageDimensions(actualPageWidth, actualPageHeight);
// width and height of image:
final int width = (int) (actualPageWidth * zoom.get());
final int height = (int) (actualPageHeight * zoom.get());
// retrieve image for page:
// width, height, clip, imageObserver, paintBackground, waitUntilLoaded:
java.awt.Image awtImage = page.getImage(width, height, bbox, null, true, true);
// draw image to buffered image:
BufferedImage buffImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
buffImage.createGraphics().drawImage(awtImage, 0, 0, null);
// convert to JavaFX image:
Image image = SwingFXUtils.toFXImage(buffImage, null);
// wrap in image view and return:
ImageView imageView = new ImageView(image);
imageView.setPreserveRatio(true);
return imageView;
}
};
updateImageTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(WorkerStateEvent event) {
pagination.getScene().getRoot().setDisable(false);
currentImage.set(updateImageTask.getValue());
}
});
updateImageTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(WorkerStateEvent event) {
pagination.getScene().getRoot().setDisable(false);
updateImageTask.getException().printStackTrace();
}
});
pagination.getScene().getRoot().setDisable(true);
imageLoadService.submit(updateImageTask);
}
use of javafx.concurrent.Task in project arquivoProject by fader-azevedo.
the class PdfViewerController method loadFile.
public void loadFile(String caminho) {
File file = new File(caminho);
if (file != null) {
final Task<PDFFile> loadFileTask = new Task<PDFFile>() {
@Override
protected PDFFile call() throws Exception {
try (RandomAccessFile raf = new RandomAccessFile(file, "r");
FileChannel channel = raf.getChannel()) {
ByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size());
return new PDFFile(buffer);
}
}
};
loadFileTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(WorkerStateEvent event) {
pagination.getScene().getRoot().setDisable(false);
final PDFFile pdfFile = loadFileTask.getValue();
currentFile.set(pdfFile);
}
});
loadFileTask.setOnFailed(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(WorkerStateEvent event) {
pagination.getScene().getRoot().setDisable(false);
showErrorMessage("Não é possivel ler " + file.getName(), loadFileTask.getException());
btnZoomIn.setDisable(true);
btnZoomOut.setDisable(true);
}
});
imageLoadService.submit(loadFileTask);
}
}
use of javafx.concurrent.Task in project Gargoyle by callakrsos.
the class BaseInfoComposite method start.
/**
*
* 코드 분석 시작 처리.
* @작성자 : KYJ
* @작성일 : 2017. 2. 3.
*/
public void start() {
// 동적처리에 따라 API 함수 수정.
FileUtil.consumeJavaParser(targetFile, cu -> {
NameExpr name = cu.getPackage().getName();
lblPackage.setText(name.toString());
String importStatement = cu.getImports().stream().map(im -> im.getName().toString()).collect(Collectors.joining(","));
lblImports.setText(importStatement);
Service<Void> service = new Service<Void>() {
@Override
protected Task<Void> createTask() {
return new Task<Void>() {
@Override
protected Void call() throws Exception {
new MethodVisitor(v -> {
methodData.add(v);
}).visit(cu, null);
return null;
}
};
}
};
service.start();
}, err -> {
LOGGER.error(ValueUtil.toString(err));
});
}
use of javafx.concurrent.Task in project trex-stateless-gui by cisco-system-traffic-generator.
the class ActivePGIDsService method createTask.
@Override
protected Task<Set<Integer>> createTask() {
return new Task<Set<Integer>>() {
@Override
protected Set<Integer> call() {
// TODO: remove when ConnectionManager.isConnected will be returns valid result
if (ConnectionManager.getInstance().getApiH() == null) {
return null;
}
Set<Integer> pgIDs = null;
try {
final ActivePGIdsRPCResult activePGIdsRPCResult = RPCCommands.getActivePGIds();
final int[] flowStats = activePGIdsRPCResult.getIds().getFlowStats();
final int[] latency = activePGIdsRPCResult.getIds().getLatency();
pgIDs = new HashSet<>();
for (final int pgID : flowStats) {
pgIDs.add(pgID);
}
for (final int pgID : latency) {
pgIDs.add(pgID);
}
} catch (Exception exc) {
LOG.error("Failed to get active PGIDs", exc);
}
return pgIDs;
}
};
}
Aggregations