Я хочу создать приложение контактов в JavaFX, я создал диалоговое окно, которое должно открываться, когда я хочу позвонить кому-нибудь и закрыть его кнопкой активации, а не кнопкой.
Я пыталсянаписать код для него (ниже), но он просто не закрывает диалоговое окно, и я понятия не имею, почему.
Кто-нибудь может помочь?
Спасибо.
public void showCallDialog(Contact contact){
contact = tableView.getSelectionModel().getSelectedItem();
Dialog<ButtonType> dialog = new Dialog<>();
dialog.setTitle("Calling");
FXMLLoader loader = new FXMLLoader();
try{
URL url = Controller.class.getResource("call.fxml");
loader.setLocation(url);
dialog.getDialogPane().setContent(loader.load());
CallController controller = loader.getController();
controller.setNameLabel(contact);
dialog.show();
Button button = controller.getEndCallButton();
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent actionEvent) {
System.out.println("pressed");//tested if it listens, and this prints out the "pressed"
dialog.close();
}
});
}catch (IOException e){
System.out.println("Couldn't load the dialog");
e.printStackTrace();
}
}
@FXML
public void call(){
Contact contact = tableView.getSelectionModel().getSelectedItem();
showCallDialog(contact);
}