Advertisement
sergAccount

Untitled

Feb 22nd, 2021
858
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.08 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement