sergAccount

Untitled

Feb 22nd, 2021
425
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×