Advertisement
sergAccount

Untitled

Feb 22nd, 2021
562
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.37 KB | None | 0 0
  1. package com.spec.appfx1;
  2.  
  3. import javafx.application.Application;
  4. import javafx.application.Platform;
  5. import javafx.event.ActionEvent;
  6. import javafx.scene.Scene;
  7. import javafx.scene.control.Button;
  8. import javafx.scene.control.Label;
  9. import javafx.scene.layout.FlowPane;
  10. import javafx.scene.layout.Pane;
  11. import javafx.stage.Stage;
  12.  
  13.  
  14. /**
  15.  * JavaFX App
  16.  */
  17. public class App extends Application {
  18.    
  19.     private static final int W_WIDTH = 1024;
  20.     private static final int W_HEIGHT = 680;
  21.    
  22.     private static final int W_POS_X = 10;
  23.     private static final int W_POS_Y = 10;
  24.  
  25.     @Override
  26.     public void start(Stage stage) {
  27. //        var javaVersion = SystemInfo.javaVersion();
  28. //        var javafxVersion = SystemInfo.javafxVersion();
  29. //        Label label = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
  30. //        Scene scene = new Scene(new StackPane(label), 640, 480);  
  31.         // создаем сцену - указываем панель и размеры сцены
  32.         Scene scene = new Scene(createPane(), W_WIDTH, W_HEIGHT);          
  33.         // устанавливаем сцену
  34.         stage.setScene(scene);
  35.         // заголовок окна
  36.         stage.setTitle("JavaFX SAMPLE1");
  37.         // установка позиции окна (x,y) - левый верхний угол
  38.         stage.setX(W_POS_X);
  39.         stage.setY(W_POS_Y);
  40.         // запретить менять размер!!!
  41.         stage.setResizable(false);        
  42.         // показываем окно на экране
  43.         stage.show();
  44.     }
  45.     // создаем панель и наполняем элементами управления (компонентами UI)
  46.     private Pane createPane() {
  47.         //
  48.         FlowPane p = new FlowPane();        
  49.         // расстояние между элементами управления внутри панели
  50.         p.setHgap(10);
  51.         Label label1 = new Label("Hello, JavaFX! ");
  52.         Button b1 = new Button("Ok");
  53.         // подключаем обработчик  событий
  54.         b1.setOnAction(this::onOkButton); // ссылка на метод ::
  55.         // 1) Exit
  56.         Button exitButton = new Button("Exit");
  57.         exitButton.setOnAction(this::onExitButton); // ссылка на метод ::
  58.         // 2) FullScreen
  59.         Button fullScrButton = new Button("FullScreen!");
  60.         fullScrButton.setOnAction(this::onFullScrButton); // ссылка на метод ::
  61.         // добавляем элементы управления в панель p
  62.         p.getChildren().addAll(label1, b1, exitButton, fullScrButton);        
  63.         return p;
  64.     }
  65.     // onOkButton - вызывается при нажатии Ок
  66.     // ActionEvent - событие
  67.     private void onOkButton(ActionEvent t) {
  68.         // получаем источник собтия
  69.         System.out.println("t.getSource().getClass()=" + t.getSource().getClass());        
  70.     }
  71.     //
  72.     public static void main(String[] args) {
  73.         launch();
  74.     }
  75.     //
  76.     private void onExitButton(ActionEvent t) {
  77.         // используем класс Platform библ-ки JavaFx
  78.         Platform.exit();
  79.     }
  80.     private void onFullScrButton(ActionEvent t) {
  81.         System.out.println("onFullScrButton!!!");
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement