Вывод данных ИЗ TableView.Java

214
07 июня 2018, 07:20

Как после редактирования данных пользоватилем таблицы TabbleView по нажатию на кнопку Save считать данные из таблицы TableView.

Answer 1
import javafx.application.Application;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import javafx.event.ActionEvent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.TextFieldTableCell;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class Main extends Application {
    private TableView<Person> tableView;
    @Override
    public void start(Stage primaryStage) throws Exception {
        TableColumn<Person, String> tcSurname = new TableColumn<>("Фамилия");
        tcSurname.setCellValueFactory(param -> param.getValue().surname);
        tcSurname.setCellFactory(TextFieldTableCell.forTableColumn());
        TableColumn<Person, String> tcName = new TableColumn<>("Имя");
        tcName.setCellValueFactory(param -> param.getValue().name);
        tcName.setCellFactory(TextFieldTableCell.forTableColumn());
        TableColumn<Person, String> tcPatronymic = new TableColumn<>("Отчество");
        tcPatronymic.setCellValueFactory(param -> param.getValue().patronymic);
        tcPatronymic.setCellFactory(TextFieldTableCell.forTableColumn());
        tableView = new TableView<>();
        tableView.getColumns().addAll(tcSurname, tcName, tcPatronymic);
        tableView.setEditable(true);
        tableView.getItems().addAll(
                new Person("Иванов", "Иван", "Иванович"),
                new Person("Петров", "Петр", "Петрович"),
                new Person("Николаев", "Николай", "Николаевич")
        );
        Button bSave = new Button("Сохранить");
        bSave.setOnAction(this::onSave);
        BorderPane borderPane = new BorderPane(tableView);
        borderPane.setBottom(bSave);
        primaryStage.setScene(new Scene(borderPane, 300, 300));
        primaryStage.show();
    }
    private void onSave(ActionEvent event) {
        tableView.getItems().forEach(this::savePerson);
    }
    private void savePerson(Person person) {
        System.out.println(String.format("Person{%s %s %s} saved",
                person.surname.get(),
                person.name.get(),
                person.patronymic.get()
        ));
    }
    private static class Person {
        StringProperty surname = new SimpleStringProperty(this, "surname");
        StringProperty name = new SimpleStringProperty(this, "name");
        StringProperty patronymic = new SimpleStringProperty(this, "patronymic");
        public Person(String surname, String name, String patronymic) {
            this.surname.set(surname);
            this.name.set(name);
            this.patronymic.set(patronymic);
        }
    }
}
READ ALSO
Как скачать полученное фото в TelegramBot?

Как скачать полученное фото в TelegramBot?

Есть задача скачать фото которое было отправлено ботуПытаюсь делать и в результате появились вопросы

192
Разбить List на List по 10 элементов

Разбить List на List по 10 элементов

Есть листС каждым элементом я в отдельном потоке провожу работу

201
Ошибка в запросе или базе данных

Ошибка в запросе или базе данных

Ошибка происходит в запросе

297
Как считать данные из таблицы TableView.Java

Как считать данные из таблицы TableView.Java

Как считать данные которые только что были отредактированы пользователем из таблицы TableView и сохранитьJava

182