Wie kann ich das Programmsymbol so einstellen, dass es ohne Verwendung von alert.initOwner()
alarmiert? Warum ohne initOwner
? Das liegt daran, dass eine Warnung angezeigt werden muss, bevor das ganze Fenster initialisiert wird. Es gibt also keine Szene, die ich in die Funktion initOwner
einfügen kann.JavaFX 8 Wie programmiere ich das Programm?
2
A
Antwort
2
Sie können die DialogPane aus einer Alert-Instanz stehlen und sie zu einer normalen Stage hinzufügen. Ein Knoten kann nur sein, die Wurzel einer Szene zu einer Zeit, so müssen Sie die Wurzel der Warnung der Szene ersetzen zuerst:
public class AlertWithIcon
extends Application {
@Override
public void start(Stage stage) {
Alert alert = new Alert(Alert.AlertType.CONFIRMATION,
"Are you sure you want to delete this item?",
ButtonType.YES, ButtonType.NO);
alert.setHeaderText("Delete Item");
DialogPane pane = alert.getDialogPane();
ObjectProperty<ButtonType> result = new SimpleObjectProperty<>();
for (ButtonType type : pane.getButtonTypes()) {
ButtonType resultValue = type;
((Button) pane.lookupButton(type)).setOnAction(e -> {
result.set(resultValue);
pane.getScene().getWindow().hide();
});
}
pane.getScene().setRoot(new Label());
Scene scene = new Scene(pane);
Stage dialog = new Stage();
dialog.setScene(scene);
dialog.setTitle("Delete Item");
dialog.getIcons().add(new Image("GenericApp.png"));
result.set(null);
dialog.showAndWait();
System.out.println("Result is " + result);
}
}
2
public class AlertWithIcon
extends Application {
@Override
public void start(Stage stage) {
Alert alert = new Alert(Alert.AlertType.CONFIRMATION,
"Are you sure you want to delete this item?",
ButtonType.YES, ButtonType.NO);
alert.setHeaderText("Delete Item");
((Stage)alert.getDialogPane().getScene().getWindow()).getIcons().add(new image("GenericApp.png"));
alert.showAndWait();
}
}
0
Dies ist, wie es gemacht wird:
// Get the Stage.
Stage stage = (Stage) alert.getDialogPane().getScene().getWindow();
// Add a custom icon.
stage.getIcons().stage.getIcons().add(new Image("images/logo_full3.png"));
Möglicherweise liegt ein Problem mit der obigen Bildreferenz vor. Aber Sie können versuchen, so lange zu konfigurieren, wie es funktioniert. So mache ich (ich benutze Maven). Ihr könnt anders sein, wenn Sie nicht Maven verwenden.
Vollständige Anleitung hier: Alert javafx tutorial
Verwandte Themen
- 1. Wie programmiere ich das Programm zurück zum Anfang?
- 2. Wie programmiere ich ein Programm unter Windows?
- 3. Test für ein Programm Ich programmiere
- 4. Wie programmiere ich zwei AAC-Dateien in einem Programm?
- 5. Wie programmiere ich JMeter WebDriver API von einem Java-Programm?
- 6. JavaFx Programm wirft java.lang.reflect.InvocationTargetException
- 7. JavaFX 8 DatePicker Funktionen
- 8. JavaFX Mehrere Farben in textarea (JavaFX 8)
- 9. Wie programmiere ich das Betriebssystem in Java programmatisch?
- 10. Wie programmiere ich Videos?
- 11. Wie programmiere ich programmatisch Medien?
- 12. JavaFX 8 Swing-Kompatibilität
- 13. Wie programmiere ich ein NSOutlineView?
- 14. Wie programmiere ich programmgesteuert Dateiberechtigungen?
- 15. Wie programmiere ich Paketversions-Token?
- 16. Wie programmiere ich ein DataTemplate?
- 17. Raphael.js - Wie programmiere ich Elementnamen?
- 18. Wie programmiere ich einen Anruf?
- 19. Wie programmiere ich ein BasicHttpBinding?
- 20. Wie schalte ich einen Login-Dialog in javaFX/8
- 21. Wie bekomme ich das oberste Fenster javafx?
- 22. Wie programmiere ich ein Layout wie dieses?
- 23. Wie programmiere ich programmatisch meine PermGen-Speicherplatznutzung?
- 24. C# Wie programmiere ich die Funktion
- 25. Wie programmiere ich Spring JdbcTemplate?
- 26. Wie programmiere ich eine CTabCtrl?
- 27. JavaFX 8 Taskbar Icon Listener
- 28. Dateizeiger druckt falsche Daten aus, wenn ich das Programm C programmiere
- 29. Wie programmiere ich das Alpha eines UIImage in SWIFT?
- 30. Wie programmiere ich Anmeldedaten für das Google-Dienstkonto?
Schön! Das war etwas, wonach ich gesucht habe, danke: D –