Опитвам се да отстраня грешки в проект за чар. Зададох точки на прекъсване в кода, но всеки път, когато изпълнението достигне точка на прекъсване, Netbeans замръзва и аз съм длъжен да го затворя принудително. Колкото и да си струва, използвам Ubuntu 15.04
[Редактиране 1]
Ето изображение на зададена точка на прекъсване
Получавам изключение: Exception in thread "JavaFX Application Thread" java.lang.IndexOutOfBoundsException
, което не сочи към нито един ред в моя код, така че искам да отстраня грешки и да разбера какво причинява проблема. Веднага кодът стига до ред 106, всичко замръзва.
[Редактиране 2]
Добре, тук е по-голямата част от кода на контролера.
public void initialize(URL url, ResourceBundle rb) {
departmentList.setPlaceholder(new Label("Oops!! EMPTY!!!"));
/*
Populate SideMenu
*/
ObservableList<Label> schools = FXCollections.observableArrayList();
ListView<Label> schoolList = new ListView<>(schools);
for (School school : schoolsList) {
schools.add(new Label(school.getName(), MaterialDesignIcon.ACCOUNT_BALANCE.graphic()));
}
/*
Add Listeners to side Menu ListView
*/
schoolList.getSelectionModel().selectedItemProperty().addListener(
(ObservableValue<? extends Label> observable, Label oldValue, Label newValue) -> {
selectedSchool = parser.findSchool(newValue.getText());
loadDepartments();
MobileApplication.getInstance().hideLayer("Side Menu");
});
/*
Add Listener to departments ListView
*/
departmentList.getSelectionModel().selectedItemProperty().addListener(
(ObservableValue<? extends Label> observable, Label oldValue, Label newValue) -> {
if (newValue == null) {//Got fired by clearing the Observable list
return;
}
System.out.println(newValue);
facDept[1] = newValue.getText();
/*
Reset before leaving; *to be removed and tried on mobile
*/
loadDepartments();
MobileApplication.getInstance().switchView(SEMESTER_VIEW);
});
borderPane.setCenter(schoolList);
center.getChildren().add(departmentList);
}
@FXML
private void showLayer(ActionEvent event) {
MobileApplication.getInstance().showLayer("Side Menu");
}
Зададох точка на прекъсване в метода showLayer (MobileApplication...) и отстраняването на грешки работи. Зададох друг ред selectedSchool = parser.findSchool(newValue.getText());
, но тук отстраняването на грешки замръзва. Имайте предвид, че изключението не се среща тук.