То, что я пытаюсь сделать, я думаю, что это именно то, что Мэг говорит здесь: JavaFX2 : Closing a stage (substage) from within itselfЗакрытие подъярус
Когда я пытаюсь реализовать ответ JewelSea, я получаю «нестатический метод getSource() не может быть ссылки на которые статический контекст ".
Итак, у меня есть дополнительное окно (сцена), созданное в Scene Builder, с простым классом контроллера, который имеет в основном одну функцию: привяжите кнопку к обработчику события close(). Вот код, который у меня есть:
public class ProductNotFoundController
implements Initializable {
@FXML // fx:id="closeButton"
private Button closeButton; // Value injected by FXMLLoader
@Override // This method is called by the FXMLLoader when initialization is complete
public void initialize(URL fxmlFileLocation, ResourceBundle resources) {
closeButton.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent t) {
// ProductNotFound.avisoClose();
Node source;
source = (Node) ActionEvent.getSource();
Stage stage = (Stage) source.getScene().getWindow();
stage.close();
}
});
}
}
Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно? И/или где я должен поместить метод close()?
Argh! Duh! Спасибо! – John
Добро пожаловать :) – tarrsalah