Skip to content

Instantly share code, notes, and snippets.

View hendrikebbers's full-sized avatar
:octocat:
Doing Java

Hendrik Ebbers hendrikebbers

:octocat:
Doing Java
View GitHub Profile
void runOnUiToolkitThreadAndWait(Runnable runnable);
@hendrikebbers
hendrikebbers / gist:970d3867a5bcc4840f0e
Last active August 29, 2015 14:13
invokeAndWait as default
default void runOnUiToolkitThreadAndWait(Runnable runnable) throws InterruptedException, ExecutionException {
FutureTask<Void> future = new FutureTask<>(runnable, null);
runOnUiToolkitThread(future);
future.get();
}
@hendrikebbers
hendrikebbers / gist:88850a936fa3a91a1c23
Last active August 29, 2015 14:13
runningOnBackgroundThread
public void runningOnBackgroundThread() {
String userInput = runOnUiToolkitThreadAndWait(() -> textfield.getText());
callWebservice(userInput);
}
<T> T runOnUiToolkitThreadAndWait(Callable<T> callable);
<T> Provider<T> runOnUiToolkitThread(Callable<T> callable);
public interface UIThread {
void runOnUiToolkitThread(Runnable runnable);
<T> Provider<T> runOnUiToolkitThread(Callable<T> callable);
void runOnUiToolkitThreadAndWait(Runnable runnable);
<T> T runOnUiToolkitThreadAndWait(Callable<T> callable);
@hendrikebbers
hendrikebbers / gist:fa1cbd7a92a6841478c1
Last active August 29, 2015 14:13
UI Thread implementation
public interface UIThread {
void runOnUiToolkitThread(Runnable runnable);
default <T> Future<T> runOnUiToolkitThread(Callable<T> callable) {
FutureTask<T> future = new FutureTask<>(callable);
runOnUiToolkitThread(future);
return future;
}
@hendrikebbers
hendrikebbers / gist:29af17814c02f370581f
Last active August 29, 2015 14:13
The DataFX Controller
@ViewController("main.fxml")
public class MainController {
@ViewNode
private RadioButton radioButton1;
@ViewNode
private RadioButton radioButton2;
@ViewNode
@hendrikebbers
hendrikebbers / gist:9382366d6fa66ea2a456
Created January 21, 2015 07:05
How to use the flowActionHandler in DataFX
flowActionHandler.handle("actionId");
flowActionHandler.navigate(NextController.class);
flowActionHandler.navigateBack();
@hendrikebbers
hendrikebbers / gist:866d842707c7f635801c
Created January 21, 2015 07:10
Inject the FlowActionHandler in a DataFX Controller
@ViewController("view.fxml")
public class MyController {
@ActionHandler
protected FlowActionHandler actionHandler;
public void doSomething() {
actionHandler.handle("actionId");
//or
actionHandler.navigate(NextController.class);