метод добавления директории из пакета Model,класс Device
public Directory createDirect(String nameDir, int currentSize, String afterName) { //Создание директории
Directory directory = null;
Directory current = firstDir;
if (firstDir == null) { //Если список пусту
directory = new Directory(nameDir, firstDir, currentSize); //то создается новая директория
directory.setNextDir(firstDir); //полю nextDir объекта directory присваивается firstDir равное null
firstDir = directory; // а firstDir присваивается directory
} else {
while (current.getNameDir() != afterName) { //пока не будет найдено место вставки
if (current.getNextDir() == null) { //Если дошли до конца списка и не нашли места вставки,
break; //то выходим из цикла
} else { //Иначе ищем дальше,пока не найдем
current = current.getNextDir(); //перенос указателя на следующий элемент
}
}
if (current.getNameDir() == afterName) { //Сравниваем текущей элемент с afterName если равно то
directory = new Directory(nameDir, firstDir, currentSize); //создаем объект директория
directory.setNextDir(current.getNextDir()); //указатель на nextDir текущего элемента
current.setNextDir(directory); //а текущему элементу уже присваиваем только что созданный
} else {
System.out.println("НЕВОЗМОЖНО ВСТАВИТЬ"); //Иначе невозможно добавить объект
System.out.println("Элемент после-вставки не найден");
}
}
return directory;
}
связываю Model c Controllerom
public void buttonAddDirOnAction(javafx.event.ActionEvent event) {
//Получение значений из текстовых полей
String nameDir= textFieldNameDir.getText();
int masLenght = Integer.parseInt(textFieldSizeDir.getText());
String afterName = textFieldPrevName.getText();
Directory dir = deviceManager.createDirect(nameDir, masLenght, afterName);
refreshListDir();
if (dir != null) {
// //Обновление листа с процессами
refreshListDir();
//
} else {
//
Alarm.showAlert(Alert.AlertType.INFORMATION, "Ошибка добавления директории",
"Директория не была добавлен", "Диретокрия с именем " + nameDir + " уже существует или не найдена директория c именем " + afterName + ","
+ "\nкоторая должна предшествовать новой диреткоии");
}
}
Добавляется почему-то только первая директория , а в остальных случаях выдает ошибку,хотя в консольном режиме работает все хорошо.В чем ошибка?
