Advertisement
sergAccount

Untitled

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