Advertisement
cygan89

JavaFX Toast example

Dec 17th, 2018
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.26 KB | None | 0 0
  1. package additional;
  2.  
  3. import javafx.animation.KeyFrame;
  4. import javafx.animation.Timeline;
  5. import javafx.scene.control.Control;
  6. import javafx.scene.control.Label;
  7. import javafx.scene.layout.Pane;
  8. import javafx.stage.Popup;
  9. import javafx.stage.Stage;
  10. import javafx.util.Duration;
  11.  
  12. public class Toast {
  13.  
  14.     private static int TOAST_TIMEOUT = 1400;
  15.  
  16.     private static Popup createPopup(final String message) {
  17.         final Popup popup = new Popup();
  18.         popup.setAutoFix(true);
  19.         Label label = new Label(message);
  20.         label.getStylesheets().add("/css/mainStyles.css");
  21.         label.getStyleClass().add("popup");
  22.         popup.getContent().add(label);
  23.         return popup;
  24.     }
  25.  
  26.  
  27.     public static void show(final String message, final Pane pane) {
  28.         Stage stage = (Stage) pane.getScene().getWindow();
  29.         final Popup popup = createPopup(message);
  30.         popup.setOnShown(e -> {
  31.             popup.setX(stage.getX() + stage.getWidth() / 2 - popup.getWidth() / 2);
  32.             popup.setY(stage.getY() + stage.getHeight() / 1.2 - popup.getHeight() / 2);
  33.         });
  34.         popup.show(stage);
  35.  
  36.         new Timeline(new KeyFrame(
  37.                 Duration.millis(TOAST_TIMEOUT),
  38.                 ae -> popup.hide())).play();
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement