Я создаю программу для хранения 999 отчетов.Я пытаюсь отфильтровать эти отчеты по трем службам: полиции, медицинской и пожарной.Я пытаюсь сделать это с помощью фильтра поиска, используя TextField для этого.Я следовал инструкциям, но для меня они не работают.
Я пересмотрел свой код, попытался что-то переделать и все еще не могу заставить его работать.Я надеюсь, что кто-то здесь может знать, что именно я сделал неправильно, и как это исправить.
public class EmergencyReports extends Application {
Stage window;
TableView<Report> table;
ObservableList<Report> Reports = FXCollections.observableArrayList();
TextField dateInput, timeInput, firstNameInput, lastNameInput, locationInput, issueInput, policeInput, fireInput, medicalInput, searchInput;
public static void main(String[]args){
launch(args);
}
@Override
public void start (Stage primaryStage) throws Exception {
window = primaryStage;
window.setTitle("Emergency Operator Pannel");
//Columns created here!
TableColumn<Report,String> responseRequestedCol = new TableColumn<>("Response Requested (P/M/F)");
responseRequestedCol.setMinWidth(200);
responseRequestedCol.setCellValueFactory(new PropertyValueFactory<Report, String>("responseRequested"));
TableColumn dateCol = new TableColumn("Date (DD/MM/YY)");
dateCol.setMinWidth(25);
dateCol.setCellValueFactory(new PropertyValueFactory<Report, String>("date"));
TableColumn timeCol = new TableColumn("Time (HH:MM)");
timeCol.setMinWidth(25);
timeCol.setCellValueFactory(new PropertyValueFactory<Report, String>("time"));
TableColumn firstNameCol = new TableColumn("First Name");
firstNameCol.setMinWidth(50);
firstNameCol.setCellValueFactory(new PropertyValueFactory<Report, String>("firstName"));
TableColumn lastNameCol = new TableColumn("Last Name");
lastNameCol.setMinWidth(50);
lastNameCol.setCellValueFactory(new PropertyValueFactory<Report, String>("lastName"));
TableColumn locationCol = new TableColumn("Location");
locationCol.setMinWidth(200);
locationCol.setCellValueFactory(new PropertyValueFactory<Report, String>("location"));
TableColumn issueCol = new TableColumn("Issue");
issueCol.setMinWidth(600);
issueCol.setCellValueFactory(new PropertyValueFactory<Report, String>("issue"));
TableColumn policeCol = new TableColumn("Police");
policeCol.setMinWidth(25);
policeCol.setCellValueFactory(new PropertyValueFactory<Report, String>("police"));
TableColumn medicalCol = new TableColumn("Medical");
medicalCol.setMinWidth(25);
medicalCol.setCellValueFactory(new PropertyValueFactory<Report, String>("medical"));
TableColumn fireCol = new TableColumn("Fire");
fireCol.setMinWidth(25);
fireCol.setCellValueFactory(new PropertyValueFactory<Report, String>("fire"));
//Nested Column for emergency services
responseRequestedCol.getColumns().addAll(policeCol, medicalCol, fireCol);
//Creation of TextFields
//Date TextFields here
searchInput = new TextField();
searchInput.setPromptText("Search Response Type");
searchInput.setMinWidth(25);
dateInput = new TextField();
dateInput.setPromptText("Date");
dateInput.setMinWidth(25);
//Time TextFields here
timeInput = new TextField();
timeInput.setPromptText("Time");
timeInput.setMinWidth(25);
//First Name TextFields here
firstNameInput = new TextField();
firstNameInput.setPromptText("First Name");
firstNameInput.setMinWidth(25);
//Last Name TextFields here
lastNameInput = new TextField();
lastNameInput.setPromptText("Last Name");
lastNameInput.setMinWidth(25);
//Location TextFields here
locationInput = new TextField();
locationInput.setPromptText("Location");
locationInput.setMinWidth(25);
//Issue TextFields here
issueInput = new TextField();
issueInput.setPromptText("Issue");
issueInput.setMinWidth(25);
//Police TextFields here
policeInput = new TextField();
policeInput.setPromptText("Police");
policeInput.setMinWidth(25);
//Fire TextFields here
fireInput = new TextField();
fireInput.setPromptText("Fire");
fireInput.setMinWidth(25);
//Medical TextFields here
medicalInput = new TextField();
medicalInput.setPromptText("Medical");
medicalInput.setMinWidth(25);
//Buttons and Lambda exoressions
Button addButton = new Button("Add");
addButton.setOnAction(e ->addButtonClicked());
Button deleteButton = new Button("Delete");
deleteButton.setOnAction(e ->deleteButtonClicked());
//Hbox layout for buttons and textfields
HBox hBox = new HBox();
HBox hBox1 = new HBox();
hBox.setPadding(new Insets(10,10,10,10));
hBox1.setSpacing(10);
hBox1.setPadding(new Insets(10,10,10,10));
hBox.setSpacing(10);
hBox.getChildren().addAll(policeInput, medicalInput, fireInput, dateInput, timeInput);
hBox1.getChildren().addAll(firstNameInput, lastNameInput, locationInput, issueInput, addButton, deleteButton, searchInput);
table = new TableView<>();
table.setItems(getReport());
table.getColumns().addAll(responseRequestedCol,dateCol,timeCol,firstNameCol,lastNameCol,locationCol,issueCol);
VBox vBox = new VBox();
vBox.getChildren().addAll(table,hBox, hBox1);