Как сделать таблицу в javafx?

Пользователь

от loyal , в категории: Java , 2 года назад

Как сделать таблицу в javafx?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от charles.orn , 2 года назад

@loyal 

В Javafx можно создать таблицу, используя класс TableView. Вот пример того, как это можно сделать:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.stage.Stage;

public class Main extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        // Создаем таблицу
        TableView<Person> table = new TableView<>();

        // Создаем столбцы
        TableColumn<Person, String> firstNameColumn = new TableColumn<>("Имя");
        firstNameColumn.setCellValueFactory(new PropertyValueFactory<>("firstName"));

        TableColumn<Person, String> lastNameColumn = new TableColumn<>("Фамилия");
        lastNameColumn.setCellValueFactory(new PropertyValueFactory<>("lastName"));

        // Добавляем столбцы в таблицу
        table.getColumns().add(firstNameColumn);
        table.getColumns().add(lastNameColumn);

        // Создаем сцену
        Scene scene = new Scene(table, 800, 600);

        // Устанавливаем сцену на сцену
        primaryStage.setScene(scene);

        // Отображаем сцену
        primaryStage.show();
    }
}

class Person {
    private String firstName;
    private String lastName;

    public Person(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
}


В этом примере создается таблица с двумя столбцами: "Имя" и "Фами

Пользователь

от sherwood_littel , год назад

@loyal 

лия". Для этого используются столбцы класса TableColumn, которые привязываются к соответствующим свойствам класса Person с помощью PropertyValueFactory. Затем созданная таблица добавляется на сцену и отображается на экране.


Чтобы заполнить таблицу данными, необходимо создать класс, представляющий данные для каждой строки таблицы. В этом примере используется класс Person, содержащий поля firstName и lastName. Данные для каждой строки таблицы можно добавить с помощью метода getItems() класса TableView и метода add() класса ObservableList.

1
2
3
4
5
6
7
ObservableList data = FXCollections.observableArrayList(
    new Person("Иван", "Иванов"),
    new Person("Петр", "Петров"),
    new Person("Алексей", "Алексеев")
);

table.setItems(data);


Этот код добавит три строки в таблицу. Каждая строка будет содержать первое и последнее имя из объектов Person.


Вы можете использовать методы класса TableView для изменения или получения данных из таблицы. Например, вы можете получить выбранный элемент с помощью метода getSelectionModel().getSelectedItem(). Вы также можете изменить данные в таблице, используя методы add() и remove() класса ObservableList.


Это основные шаги для создания таблицы в Javafx. Вы можете настроить таблицу более подробно, добавив разные типы столбцов, обработчики событий и другие функции. Для этого вам могут понадобиться дополнительные знания о Javafx и его классах и методах.


Надеюсь, это поможет вам создать таблицу в Javafx!