Как бы я объединил все мои различные поля уведомлений в одно поле уведомлений, отображающее все результаты вместе?

#java #javafx

Вопрос:

Поэтому мне нужно создать приложение, в котором я могу сохранять новые продукты в текстовый файл и извлекать его, когда я ввожу его имя. При извлечении должны быть возвращены все продукты с одинаковым именем. В настоящее время все они разделены на разные блоки оповещения, любые советы о том, как я могу заставить их всех находиться в одном блоке оповещения. Это весь код для кнопки «Получить». Любая помощь была бы очень признательна.

     btnRetrieveD.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent event) {
            if (PNameTF.getText().isEmpty()) {
                showAlert(Alert.AlertType.ERROR, primaryStage.getScene().getWindow(), "Error", "Please enter Product Name.");
                return;
            }

            String PName = PNameTF.getText();
            String PType = PTypeTF.getText();
            String PPrice = PPriceTF.getText();

            String lineNum = "";
            String filePath = "stock.txt";
            BufferedReader br;
            String inputSearch = PName;
            String line = "";
            double count = 0, countBuffer = 0, countLine = 0;

            try {
                // Code to read from the file
                br = new BufferedReader(new FileReader(filePath));
                try {
                    while ((line = br.readLine()) != null) {
                        countLine  ;
                        //System.out.println(line);
                        String[] words = line.split(" ");

                        for (String word : words) {
                            if (word.equals(inputSearch)) {
                                count  ;
                                countBuffer  ;

                                showAlert(Alert.AlertType.INFORMATION, primaryStage.getScene().getWindow(), "Success", "Product found. Details below:n"   line);
                            }
                        }
                    }
                    if (countBuffer > 0) {
                        countBuffer = 0;
                        lineNum  = countLine   "n";
                    } else {
                        showAlert(Alert.AlertType.ERROR, primaryStage.getScene().getWindow(), "Error", " The product you entered could not be found.");
                    }
                    br.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            // Code to clear the text boxes
            PNameTF.clear();
            PTypeTF.clear();
            PPriceTF.clear();
        }
    });
}
 

Комментарии:

1. Соберите все найденные продукты в коллекцию и отобразите список найденных продуктов в Alert окне после завершения чтения файла.