sergAccount

Untitled

Feb 22nd, 2021
466
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.spec.appfx2;
  2.  
  3. import javafx.application.Application;
  4. import javafx.collections.FXCollections;
  5. import javafx.collections.ObservableList;
  6. import javafx.geometry.Insets;
  7. import javafx.scene.Scene;
  8. import javafx.scene.control.Button;
  9. import javafx.scene.control.TableColumn;
  10. import javafx.scene.control.TableView;
  11. import javafx.scene.control.cell.PropertyValueFactory;
  12. import javafx.scene.layout.FlowPane;
  13. import javafx.scene.layout.Pane;
  14. import javafx.scene.layout.VBox;
  15. import javafx.stage.Stage;
  16.  
  17. public class App extends Application {
  18.     // компонент - таблица
  19.     private TableView tableView;
  20.     // данные для таблицы tableView
  21.     private ObservableList<Person> data = FXCollections.observableArrayList();
  22.  
  23.     @Override
  24.     public void start(Stage stage) {
  25.         // сцена
  26.         var scene = new Scene(createPane(), 1024, 800);
  27.         // установка сцены
  28.         stage.setScene(scene);
  29.         // показываем окно на экране
  30.         stage.show();
  31.     }    
  32.     // создаем панель и наполняем элементами управления (компонентами UI)
  33.     private Pane createPane() {
  34.         //                
  35.         final VBox pane = new VBox();
  36.         pane.setSpacing(10);
  37.         pane.setPadding(new Insets(10, 10, 10, 10));
  38.         // панель - потоковое расположение, вертик и горизонтальные отступы!!!
  39.         final FlowPane buttonsPane = new FlowPane();
  40.         buttonsPane.setVgap(0);
  41.         buttonsPane.setHgap(10);
  42.         Button btn1 = new Button("Обновить");
  43.         buttonsPane.getChildren().addAll(btn1);
  44.         // создаем данные и инициализируем св-во data
  45.         data = createData();
  46.         tableView = createTableView(data);        
  47.         pane.getChildren().addAll(buttonsPane, tableView);
  48.         return pane;
  49.     }
  50.     // создаем таблицу - объект типа TableView
  51.     private static TableView createTableView(ObservableList<Person> data){
  52.         TableView tv = new TableView();
  53.         // создаем колонки
  54.         TableColumn<Person, String> column1 = new TableColumn<>("Имя");
  55.         column1.setCellValueFactory(new PropertyValueFactory<>("firstName"));
  56.         TableColumn<Person, String> column2 = new TableColumn<>("Фамилия");
  57.         column2.setCellValueFactory(new PropertyValueFactory<>("lastName"));
  58.         //
  59.         tv.getColumns().add(column1);
  60.         tv.getColumns().add(column2);
  61.         tv.setItems(data);        
  62.         return tv;
  63.     }
  64.      //
  65.     private static ObservableList<Person> createData() {
  66.         //
  67.         final ObservableList<Person> data = FXCollections.observableArrayList();
  68.         data.add(new Person("fName1", "lastName1"));
  69.         data.add(new Person("fName2", "lastName2"));
  70.         data.add(new Person("fName3", "lastName3"));
  71.         return data;
  72.     }
  73.     //
  74.     public static void main(String[] args) {
  75.         launch();
  76.     }
  77. }
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.

×