Advertisement
sergAccount

Untitled

Apr 11th, 2021
848
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.90 KB | None | 0 0
  1. package com.mycompany.mavenproject3;
  2.  
  3. import javafx.application.Application;
  4. import javafx.event.ActionEvent;
  5. import javafx.geometry.Insets;
  6. import javafx.scene.Scene;
  7. import javafx.scene.control.Button;
  8. import javafx.scene.layout.FlowPane;
  9. import javafx.scene.layout.Pane;
  10. import javafx.scene.layout.VBox;
  11. import javafx.stage.Stage;
  12.  
  13. public class App extends Application {
  14.  
  15.     private static final int W_WIDTH = 1024;
  16.     private static final int W_HEIGHT = 680;
  17.     private static final int W_POS_X = 10;
  18.     private static final int W_POS_Y = 10;
  19.     // ссылка на главное окно !!!
  20.     private Stage pStage;
  21.  
  22.     @Override
  23.     public void start(Stage stage) {
  24.         //
  25.         System.out.println("App.start>>");
  26.         this.pStage = stage;
  27.         // создем сцену        
  28.         var scene = new Scene(createPane(), W_WIDTH, W_HEIGHT);
  29.         stage.setTitle("JavaFX Controls!!!");
  30.         stage.setScene(scene);
  31.         // установка позиции окна (x,y) - левый верхний угол
  32.         stage.setX(W_POS_X);
  33.         stage.setY(W_POS_Y);
  34.         // запретить менять размер!!!
  35.         stage.setResizable(false);
  36.  
  37.         stage.show();
  38.     }
  39.  
  40.     // определяем и настраиваем компонеты
  41.     private Pane createPane() {
  42.         // панель - вертик расположение элементов
  43.         final VBox pane = new VBox();
  44.         pane.setSpacing(10);
  45.         pane.setPadding(new Insets(10, 10, 10, 10));
  46.         // панель - потоковое расположение, вертик и горизонтальные отступы!!!
  47.         final FlowPane buttonsPane = new FlowPane();
  48.         buttonsPane.setVgap(0);
  49.         buttonsPane.setHgap(10);
  50.         // создаем элементы управления !!!
  51.         Button btn1 = new Button("Обновить");
  52.         btn1.setOnAction(this::onRefresh);
  53.         Button btn2 = new Button("Очистить");
  54.         btn2.setOnAction(this::onClear);
  55.         Button btn3 = new Button("FullScreen MODE");
  56.         btn3.setOnAction(this::onFullScreen);
  57.         Button btn4 = new Button("Центрировать");
  58.         btn4.setOnAction(this::onCenter);
  59.        
  60.         buttonsPane.getChildren().addAll(btn1, btn2, btn3, btn4/*, btn5, btn6*/);
  61.         // добавляем панель в pane
  62.         pane.getChildren().addAll(buttonsPane);
  63.  
  64.         return pane;
  65.     }
  66.  
  67.     //
  68.     private void onRefresh(ActionEvent t) {
  69.         System.out.println("onRefresh!!!");
  70.     }
  71.  
  72.     private void onClear(ActionEvent t) {
  73.     }
  74.  
  75.     private void onFullScreen(ActionEvent t) {
  76.        
  77.     }
  78.    
  79.     private void onCenter(ActionEvent t) {
  80.         // centerOnScreen
  81.         pStage.centerOnScreen();
  82.     }
  83.  
  84.     public static void main(String[] args) {
  85.         launch();
  86.     }
  87.  
  88. }
  89.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement