Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.18 KB | None | 0 0
  1. public class MainWindow extends BorderPane{
  2.     private IntegerProperty clicks = new SimpleIntegerProperty(0);
  3.    
  4.     private Label clicksLabel;
  5.    
  6.     public MainWindow() {
  7.         setPrefWidth(600);
  8.         setPrefHeight(400);
  9.         ImageView hmm = new ImageView(ResourceLoader.image("hmm.png"));
  10.         hmm.setPreserveRatio(true);
  11.         hmm.setFitWidth(200);
  12.         hmm.setFitHeight(368);
  13.         setLeft(hmm);
  14.         setMargin(hmm, new Insets(16,16,16,16));
  15.        
  16.        
  17.        
  18.         BorderPane center = new BorderPane();
  19.         center.setPadding(new Insets(16,16,16,16));
  20.         center.setPrefWidth(200);
  21.         center.setPrefHeight(200);
  22.         Label what = new Label("What should we do?");
  23.         what.setFont(new Font("System", 26));
  24.         center.setTop(what);
  25.         center.setAlignment(what, Pos.TOP_CENTER);
  26.        
  27.        
  28.        
  29.        
  30.         Button open = new Button("Open a new window");
  31.         open.setOnAction(new OtherWindowHandler());
  32.         open.setMaxWidth(Double.MAX_VALUE);
  33.        
  34.         Button display = new Button("Display a dialog");
  35.         display.setOnAction(e -> {updateClicks(); Dialogs.warning("Example dialog", "Content header", "Content");});
  36.         display.setMaxWidth(Double.MAX_VALUE);
  37.        
  38.         Button exit = new Button("Exit");
  39.         exit.setOnAction(e -> {System.out.println("Closing app."); Platform.exit();});
  40.         exit.setMaxWidth(Double.MAX_VALUE);
  41.        
  42.         clicksLabel = new Label("Welcome!");
  43.         clicksLabel.setId("clicksLabel");
  44.        
  45.         VBox vb = new VBox(open, display, exit, clicksLabel);
  46.         vb.setAlignment(Pos.CENTER);
  47.         vb.setPadding(new Insets(16,16,16,16));
  48.         vb.setSpacing(16);
  49.         center.setCenter(vb);
  50.         //center.setAlignment(vb, Pos.CENTER);
  51.        
  52.         setCenter(center);
  53.     }
  54.    
  55.     private void updateClicks() {
  56.         if (!clicksLabel.textProperty().isBound())
  57.             clicksLabel.textProperty().bind(clicks.asString().concat(" clicks."));
  58.  
  59.         clicks.setValue(clicks.getValue() + 1);
  60.     }
  61.    
  62.     private class OtherWindowHandler implements EventHandler<ActionEvent>{
  63.  
  64.         @Override
  65.         public void handle(ActionEvent event) {
  66.             updateClicks();
  67.            
  68.             ResourceLoader<Parent, FXMLController> loader = new ResourceLoader<>("otherwindow.fxml");
  69.            
  70.             Parent root = (Parent) loader.root;
  71.             Stage stage = new Stage();
  72.             stage.setScene(new Scene(root));  
  73.             stage.show();
  74.            
  75.         }
  76.        
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement