Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.spec.appfx2;
- import javafx.application.Application;
- import javafx.collections.FXCollections;
- import javafx.collections.ObservableList;
- import javafx.event.ActionEvent;
- import javafx.geometry.Insets;
- import javafx.scene.Scene;
- import javafx.scene.control.Button;
- import javafx.scene.control.TableColumn;
- import javafx.scene.control.TableView;
- import javafx.scene.control.cell.PropertyValueFactory;
- import javafx.scene.layout.FlowPane;
- import javafx.scene.layout.Pane;
- import javafx.scene.layout.VBox;
- import javafx.stage.Stage;
- public class App extends Application {
- // компонент - таблица
- private TableView tableView;
- // данные для таблицы tableView
- private ObservableList<Person> data = FXCollections.observableArrayList();
- @Override
- public void start(Stage stage) {
- // сцена
- var scene = new Scene(createPane(), 1024, 800);
- // установка сцены
- stage.setScene(scene);
- // показываем окно на экране
- stage.show();
- }
- // создаем панель и наполняем элементами управления (компонентами UI)
- private Pane createPane() {
- //
- final VBox pane = new VBox();
- pane.setSpacing(10);
- pane.setPadding(new Insets(10, 10, 10, 10));
- // панель - потоковое расположение, вертик и горизонтальные отступы!!!
- final FlowPane buttonsPane = new FlowPane();
- buttonsPane.setVgap(0);
- buttonsPane.setHgap(10);
- Button btn1 = new Button("Обновить");
- //buttonsPane.getChildren().addAll(btn1);
- //
- Button btn2 = new Button("Очистить");
- btn2.setOnAction(this::onClearData);
- buttonsPane.getChildren().addAll(btn1, btn2);
- // создаем данные и инициализируем св-во data
- data = createData();
- tableView = createTableView(data);
- pane.getChildren().addAll(buttonsPane, tableView);
- return pane;
- }
- // создаем таблицу - объект типа TableView
- private static TableView createTableView(ObservableList<Person> data){
- TableView tv = new TableView();
- // создаем колонки
- TableColumn<Person, String> column1 = new TableColumn<>("Имя");
- column1.setCellValueFactory(new PropertyValueFactory<>("firstName"));
- TableColumn<Person, String> column2 = new TableColumn<>("Фамилия");
- column2.setCellValueFactory(new PropertyValueFactory<>("lastName"));
- //
- tv.getColumns().add(column1);
- tv.getColumns().add(column2);
- tv.setItems(data);
- return tv;
- }
- private void onClearData(ActionEvent t) {
- System.out.println("onClearData!!!");
- data.clear();
- }
- //
- private static ObservableList<Person> createData() {
- //
- final ObservableList<Person> data = FXCollections.observableArrayList();
- data.add(new Person("fName1", "lastName1"));
- data.add(new Person("fName2", "lastName2"));
- data.add(new Person("fName3", "lastName3"));
- return data;
- }
- //
- public static void main(String[] args) {
- launch();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement