Хэш-карта и поле со списком задом наперед (JavaFX) - PullRequest
0 голосов
/ 13 марта 2019

Я хочу, чтобы поле со списком содержало Фрукты в качестве опций и распечатывало только приз. Тем не менее, в настоящее время в поле со списком отображаются только призы и печатается вес и фрукты. Я понимаю, что могу поменять местами приз и фрукты, и это решит одну проблему, но я не должен это делать.

Я удалил нерелевантный код, чтобы он был как можно короче.

public class HashMap extends Tab {

   String pr = "";
   @SuppressWarnings("rawtypes")
   ComboBox c1 = new ComboBox<>();

     public  HashMap (String string) {

       java.util.HashMap<String, String> map = new java.util.HashMap<String, String>();

       String line;


        try {
            while ((line = reader.readLine()) != null) {
                String[] parts = line.split(":", 2);

                if (parts.length >= 2) {
                    String key = parts[0];
                    String value = parts[1];
                    map.put(key, value);
                } else {
                    System.out.println(line); // skip line
                }
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    for (String key : map.keySet()) {
        c1.getItems().add(key);
    }

    c1.setOnAction((Event) -> {

        pr = c1.getSelectionModel().getSelectedItem().toString();
        System.out.println(map.get(pr));
    });


}

}

Мой текстовый файл выглядит следующим образом. (Приз: Вес: фрукты)

1000: 2: Apple
10000: 5: виноградный
Поездка в Донегол: 4: Груша
Поездка на Карибы: 4: банан

...