Извлечение элемента из ListView после его редактирования - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть ListView с элементами String.Я создал метод переопределения setOnMouseClicked для Button.Когда мы нажимаем на него, ListView создает новый элемент, и мы можем редактировать его имя.Но тогда мне нужно взять это название предмета.Так что я не могу сделать это ... Может быть, я должен использовать TheadsНадеюсь на ваши ответы.

Основная проблема - Как я могу получить имя элемента после того, как я его отредактировал?

Код:

@Override
public void start(Stage stage) throws Exception {

    File file = new File("D:\\");
    String[] filesName = file.list();
    ObservableList<String> Langs = FXCollections.observableArrayList(filesName);
    ListView<String> langsListView = new ListView<String>(Langs);
    Button BtnBack = new Button();
    Button CreateDir = new Button();
    CreateDir.setText("New Directory");
    BtnBack.setText("Back");
    ArrayList<String> z = new ArrayList<String>();
    z.add(file.getPath());

    CreateDir.setOnMouseClicked(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            langsListView.setEditable(true);
            langsListView.getItems().add(0,"");

            langsListView.setCellFactory(TextFieldListCell.forListView());
            langsListView.layout();                   
            langsListView.edit(0);
            langsListView.setEditable(false);
            //I need that next code is working but it isn't... don't know why.
            String newDir = new String();

            for (String s : z)
                newDir += s;

            File newfile = new File(newDir+langsListView.getItems().get(0)); 
            System.out.println(newDir + langsListView.getItems().get(0));
        }
    });

    FlowPane BtnPane = new FlowPane(10,10,BtnBack, CreateDir);
    FlowPane root = new FlowPane(BtnPane,langsListView);
    Scene scene = new Scene(root, 600, 500);

    stage.setScene(scene);
    stage.setTitle("ListView in JavaFX");
    stage.show();
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...