Может кто-нибудь помочь мне при создании кода?
Я начинаю на Java, на следующем шаге я хочу создать данные в файле xlsx.
План:
Когда я открываю приложение, данные из xlsx автоматически импортируются в таблицу.
Когда я добавляю новую строку в таблицу, эта строка будет добавлена в файл xlsx.
Контроллер:
package sample.Controllers;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.control.cell.TextFieldTableCell;
import sample.Utils.StopLista;
import java.net.URL;
import java.util.ResourceBundle;
public class StopController implements Initializable {
@FXML
private TableView<StopLista> tableView;
@FXML
private TableColumn<StopLista, String> dateColumn;
@FXML
private TableColumn<StopLista, String> orderColumn;
@FXML
private TableColumn<StopLista, String> modelColumn;
@FXML
private TableColumn<StopLista, String> changeColumn;
@FXML
private TableColumn<StopLista, String> timeColumn;
@FXML
private TableColumn<StopLista, String> personColumn;
@FXML
private TableColumn<StopLista, String> commentsColumn;
@FXML
TextField dateText;
@FXML
TextField orderText;
@FXML
TextField modelText;
@FXML
TextField changeText;
@FXML
TextField timeText;
@FXML
TextField personText;
@FXML
TextField commentsText;
public StopController() {
}
@Override
public void initialize(URL location, ResourceBundle resources) {
dateColumn.setCellValueFactory(new PropertyValueFactory<StopLista, String>("data"));
orderColumn.setCellValueFactory(new PropertyValueFactory<StopLista, String>("zlecenie"));
modelColumn.setCellValueFactory(new PropertyValueFactory<StopLista, String>("model"));
changeColumn.setCellValueFactory(new PropertyValueFactory<StopLista, String>("zmiana"));
timeColumn.setCellValueFactory(new PropertyValueFactory<StopLista, String>("czas"));
personColumn.setCellValueFactory(new PropertyValueFactory<StopLista, String>("osoba"));
commentsColumn.setCellValueFactory(new PropertyValueFactory<StopLista, String>("uwagi"));
tableView.setItems(addList());
tableView.setEditable(true);
dateColumn.setCellFactory(TextFieldTableCell.forTableColumn());
orderColumn.setCellFactory(TextFieldTableCell.forTableColumn());
modelColumn.setCellFactory(TextFieldTableCell.forTableColumn());
changeColumn.setCellFactory(TextFieldTableCell.forTableColumn());
timeColumn.setCellFactory(TextFieldTableCell.forTableColumn());
personColumn.setCellFactory(TextFieldTableCell.forTableColumn());
commentsColumn.setCellFactory(TextFieldTableCell.forTableColumn());
}
public void addRowToTable() {
StopLista nowyRekord = new StopLista(dateText.getText(), orderText.getText(), modelText.getText(),
changeText.getText(), timeText.getText(), personText.getText(), commentsText.getText());
tableView.getItems().add(nowyRekord);
dateText.clear();
orderText.clear();
modelText.clear();
changeText.clear();
timeText.clear();
personText.clear();
commentsText.clear();
}
public void delateRowTable() {
ObservableList<StopLista> wybranyRekord, wszystkieRekordy;
try {
wszystkieRekordy = tableView.getItems();
if (wszystkieRekordy.size() != 0) {
wybranyRekord = tableView.getSelectionModel().getSelectedItems();
wybranyRekord.forEach(wszystkieRekordy::remove);
}
} catch (Exception e) {
//tabela jest pusta - nic się nie dzieje
}
}
public ObservableList<StopLista> addList() {
ObservableList<StopLista> orderList = FXCollections.observableArrayList();
return orderList;
}
public void editData(TableColumn.CellEditEvent cellEditEvent){
StopLista zmDaty = tableView.getSelectionModel().getSelectedItem();
zmDaty.setData(cellEditEvent.getNewValue().toString());
}
public void editOrder(TableColumn.CellEditEvent cellEditEvent){
StopLista zmZlecenia = tableView.getSelectionModel().getSelectedItem();
zmZlecenia.setZlecenie(cellEditEvent.getNewValue().toString());
}
public void editModel(TableColumn.CellEditEvent cellEditEvent){
StopLista zmModelu = tableView.getSelectionModel().getSelectedItem();
zmModelu.setModel(cellEditEvent.getNewValue().toString());
}
public void editChange(TableColumn.CellEditEvent cellEditEvent){
StopLista zmZmiany = tableView.getSelectionModel().getSelectedItem();
zmZmiany.setZmiana(cellEditEvent.getNewValue().toString());
}
public void editTime(TableColumn.CellEditEvent cellEditEvent){
StopLista zmCzasu = tableView.getSelectionModel().getSelectedItem();
zmCzasu.setCzas(cellEditEvent.getNewValue().toString());
}
public void editPerson(TableColumn.CellEditEvent cellEditEvent){
StopLista zmOsoby = tableView.getSelectionModel().getSelectedItem();
zmOsoby.setOsoba(cellEditEvent.getNewValue().toString());
}
public void editComments(TableColumn.CellEditEvent cellEditEvent){
StopLista zmUwag = tableView.getSelectionModel().getSelectedItem();
zmUwag.setUwagi(cellEditEvent.getNewValue().toString());
}
}
геттеры, сеттеры и контроллеры
package sample.Utils;
import javafx.beans.property.SimpleStringProperty;
public class StopLista {
private SimpleStringProperty data, zlecenie, model, zmiana, czas, osoba, uwagi;
public StopLista(String data, String zlecenie, String model,
String zmiana, String czas, String osoba,
String uwagi) {
this.data = new SimpleStringProperty(data);
this.zlecenie = new SimpleStringProperty(zlecenie);
this.model = new SimpleStringProperty(model);
this.zmiana = new SimpleStringProperty(zmiana);
this.czas = new SimpleStringProperty(czas);
this.osoba = new SimpleStringProperty(osoba);
this.uwagi = new SimpleStringProperty(uwagi);
}
public String getData() {
return data.get();
}
public SimpleStringProperty dataProperty() {
return data;
}
public void setData(String data) {
this.data.set(data);
}
public String getZlecenie() {
return zlecenie.get();
}
public SimpleStringProperty zlecenieProperty() {
return zlecenie;
}
public void setZlecenie(String zlecenie) {
this.zlecenie.set(zlecenie);
}
public String getModel() {
return model.get();
}
public SimpleStringProperty modelProperty() {
return model;
}
public void setModel(String model) {
this.model.set(model);
}
public String getZmiana() {
return zmiana.get();
}
public SimpleStringProperty zmianaProperty() {
return zmiana;
}
public void setZmiana(String zmiana) {
this.zmiana.set(zmiana);
}
public String getCzas() {
return czas.get();
}
public SimpleStringProperty czasProperty() {
return czas;
}
public void setCzas(String czas) {
this.czas.set(czas);
}
public String getOsoba() {
return osoba.get();
}
public SimpleStringProperty osobaProperty() {
return osoba;
}
public void setOsoba(String osoba) {
this.osoba.set(osoba);
}
public String getUwagi() {
return uwagi.get();
}
public SimpleStringProperty uwagiProperty() {
return uwagi;
}
public void setUwagi(String uwagi) {
this.uwagi.set(uwagi);
}
}
Может кто-нибудь помочь мне или показать, как это сделать?