package demos.gui.uicomponents;
import com.jfoenix.controls.JFXButton;
import com.jfoenix.controls.JFXDialog;
import com.jfoenix.controls.JFXDialog.DialogTransition;
import io.datafx.controller.ViewController;
import io.datafx.controller.flow.context.FXMLViewFlowContext;
import io.datafx.controller.flow.context.ViewFlowContext;
import javafx.fxml.FXML;
import javafx.scene.layout.StackPane;
import javax.annotation.PostConstruct;
@ViewController(value = "/fxml/ui/Dialog.fxml", title = "Material Design Example")
public class DialogController {
public static final String CONTENT_PANE = "ContentPane";
@FXMLViewFlowContext
private ViewFlowContext context;
@FXML
private JFXButton centerButton;
@FXML
private JFXButton topButton;
@FXML
private JFXButton rightButton;
@FXML
private JFXButton bottomButton;
@FXML
private JFXButton leftButton;
@FXML
private JFXButton acceptButton;
@FXML
private StackPane root;
@FXML
private JFXDialog dialog;
/**
* init fxml when loaded.
*/
@PostConstruct
public void init() {
root.getChildren().remove(dialog);
centerButton.setOnMouseClicked((e) -> {
dialog.setTransitionType(DialogTransition.CENTER);
dialog.show((StackPane) context.getRegisteredObject(CONTENT_PANE));
});
topButton.setOnMouseClicked((e) -> {
dialog.setTransitionType(DialogTransition.TOP);
dialog.show((StackPane) context.getRegisteredObject(CONTENT_PANE));
});
rightButton.setOnMouseClicked((e) -> {
dialog.setTransitionType(DialogTransition.RIGHT);
dialog.show((StackPane) context.getRegisteredObject(CONTENT_PANE));
});
bottomButton.setOnMouseClicked((e) -> {
dialog.setTransitionType(DialogTransition.BOTTOM);
dialog.show((StackPane) context.getRegisteredObject(CONTENT_PANE));
});
leftButton.setOnMouseClicked((e) -> {
dialog.setTransitionType(DialogTransition.LEFT);
dialog.show((StackPane) context.getRegisteredObject(CONTENT_PANE));
});
acceptButton.setOnMouseClicked((e) -> dialog.close());
}
}