Witam, kolejny problem napotkałem pisząc projekt "menadżer zadań". Robię edycję Userów, mam aktualnie TableView, w którym wyświetlam użytkowników(imie, nazwisko, email, login, hasło, uprawnienia) i teraz nadciąga mi do głowy pomysł z edycją tego użytkownika. Chciałbym zrobić tak by dane w tabeli były edytowalne i po naciśnięciu przycisku zapisz, zmiany zostały zapisane. Nasuwa się ot takie to pytanie, bo niby żeby zrobić tabelę edytowalną używa się setEditable(true), zgadza się, no ale nie bardzo chce to zaskoczyć, i potem jak zabrać się za napisanie metody zapisz, bo nie bardzo wiem jak miałaby ona wyglądać. Proszę o wskazówki.
Trochę kodu:
package userscontrollers;
import java.net.URL;
import java.util.ResourceBundle;
import bazadanych.DostepUser;
import domain.User;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
public class EditUserController implements Initializable {
@FXML
private TableView<User> tv_user;
@FXML
private TableColumn<?, ?> nazwisko_tc;
@FXML
private TableColumn<?, ?> login_tc;
@FXML
private TableColumn<?, ?> haslo_tc;
@FXML
private TableColumn<?, ?> imie_tc;
@FXML
private TableColumn<?, ?> email_tc;
@FXML
private TableColumn<?, ?> uprawnienia_tc;
@FXML
private Button btnZapisz;
@FXML
private Button btnAnuluj;
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
// TODO Auto-generated method stub
konfigurujWidokTabeli();
}
public TableView<User> getTableViewUser() {
return tv_user;
}
public void konfigurujWidokTabeli() {
imie_tc.setCellValueFactory(new PropertyValueFactory<>("firstName"));
nazwisko_tc.setCellValueFactory(new PropertyValueFactory<>("lastName"));
email_tc.setCellValueFactory(new PropertyValueFactory<>("email"));
login_tc.setCellValueFactory(new PropertyValueFactory<>("login"));
haslo_tc.setCellValueFactory(new PropertyValueFactory<>("password"));
uprawnienia_tc.setCellValueFactory(new PropertyValueFactory<>(
"permissions"));
tv_user.setEditable(true);
zaladujUserDotabeli();
}
public void zaladujUserDotabeli() {
DostepUser dbUser = new DostepUser();
ObservableList<User> listaUser = FXCollections
.observableArrayList(dbUser.pobierzWszystkichUser());
tv_user.setItems(listaUser);
}
}
Dzięki za pomoc.