Ist es möglich, einen benutzerdefinierten Dialog in JavaFX zu erstellen, der kein Fenster auf Betriebssystemebene ist? (Es wäre ein Popup-Fenster über allem anderen auf der Hauptbühne, das das Anwendungsfenster nicht verlassen kann.), D. H. Ein Adobe/Apache Flex-Stil-Dialog, für jeden bekannt.Benutzerdefinierter Dialog/Popup im Hauptfenster/Bühne mit JavaFX
Antwort
Es ist eigentlich ganz einfach und ohne die Notwendigkeit, 3rd-Party-Bibliothek zu verwenden:
Ihre Stammcontainer Einbetten in stackpane und über die Spitze setzen Ankerscheibe, Dialogfeld-Steuerelement erstellen (Behälter/Container + Kontrollen).
Um zu demonstrieren, ich hier, was bedeutet, eine kleine fxml Datei ist:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<StackPane xmlns="http://javafx.com/javafx/8.0.40" xmlns:fx="http://javafx.com/fxml/1">
<children>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" style="-fx-background-color: black;" />
<AnchorPane prefHeight="200.0" prefWidth="363.0">
<children>
<BorderPane layoutX="84.0" layoutY="123.0" prefHeight="99.0" prefWidth="227.0" style="-fx-background-color: red;">
<center>
<Button mnemonicParsing="false" text="Button" BorderPane.alignment="CENTER" />
</center>
</BorderPane>
</children>
</AnchorPane>
</children>
</StackPane>
Sie es mit Eigenschaften, Hörer beweglich machen. Es erfordert einige Arbeit Knospe machbar.
Bud als jewelsea erwähnt controlsfx hat bereits, was Sie brauchen, implementiert, wenn ich mich richtig erinnere sie auch controlfx Beispiele Jar zur Verfügung gestellt, wo Sie Quellcode und alle enthaltenen Sachen in Aktion sehen können, zuerst einen Blick darauf, wenn etwas darin passt Ihre Bedürfnisse. Es ist wirklich trivial, um es dann von diesem Punkt an zu implementieren, ich hatte nur Probleme in der Vergangenheit mit einer der Steuerelemente, wenn ich auf neue Version von Java aktualisiert.
Sie brauchen es nicht wirklich, um beweglich zu sein, nur ein statischer Behälter wie der sollte den Trick machen! – User
- 1. Javafx Internationalisierung mit benutzerdefinierter Sprache
- 2. JavaFX: benutzerdefinierter Textbereich für hexadezimierten Inhalt
- 3. Mausereignisse in einer Region mit benutzerdefinierter Form in JavaFX 8
- 4. Benutzerdefinierter Marker mit Server im Mapkit swift
- 5. Stackoverflow im Frühjahr oauth2 mit benutzerdefinierter ClientDetailsService
- 6. Benutzerdefinierter Alarmdialog mit benutzerdefinierter Listenansicht
- 7. Erweiterter benutzerdefinierter Datumsbereich im Vollkalender
- 8. Benutzerdefinierter Auth-Benutzer im Frühjahr
- 9. Übergeben benutzerdefinierter Anforderungsheader im Loopback
- 10. CollectionViewSource mit benutzerdefinierter Sortierung
- 11. Benutzerdefinierter Filter für ng-repeat im Controller
- 12. UIActionSheet mit benutzerdefinierter Größe
- 13. $ mdDialog.confirm() mit benutzerdefinierter VorlageUrl
- 14. Benutzerdefinierter Validierungsfehler mit Mungo
- 15. Benutzerdefinierter Filter im JSON-Array angularjs
- 16. RSQLite-Abfrage mit benutzerdefinierter Variable im WHERE-Feld
- 17. Verwendung von requirjs im Play-Framework mit benutzerdefinierter Ordnerstruktur
- 18. Initialisierung benutzerdefinierter Ressourcen im MVC-Projekt
- 19. Benutzerdefinierter Code im Reporting Services-Bericht
- 20. Benutzerdefinierter Alarmdialog mit RecyclerView
- 21. DialogFragment mit benutzerdefinierter Form
- 22. Markdown mit benutzerdefinierter Syntax?
- 23. Winkelkalender mit benutzerdefinierter Klasse
- 24. Symbolleistentitel mit benutzerdefinierter Ansicht
- 25. Benutzerdefinierter Zuordner mit Kompilierzeitarray
- 26. java.util.ConcurrentModificationException mit benutzerdefinierter ArrayList
- 27. Benutzerdefinierter Domänenname mit Heroku
- 28. Problem mit benutzerdefinierter Konfigurationsdatei beheben
- 29. Einfacher benutzerdefinierter Farbverlauf mit gradient_override_map
- 30. Benutzerdefinierter Dockbereich mit Qt 4.4
ControlsFX hatte diese Funktion (siehe leichtgewichtige Dialoge) (http://fxexperience.com/controlsfx/features/dialogs/)). Neuere Builds von ControlsFX [ließen jedoch die Leichtgewichtdialogfunktion fallen] (http://stackoverflow.com/questions/26341152/controlsfx-dialogs-deprecated-for-what). Stattdessen verwendet ControlsFX jetzt nur die in der JavaFX-Core-API implementierten Dialoge, bei denen es sich um eigenständige Phasen handelt. Vielleicht möchten Sie einige [alte Zweig Quellcode von ControlsFX] (https://bitbucket.org/controlsfx/controlsfx/branches/) überprüfen, um zu sehen, wie sie ihre ursprüngliche leichte Dialogimplementierung erreicht. – jewelsea
ControlsFX [leichte Dialogquellimplementierung] (https://bitbucket.org/controlsfx/controlsfx/src/371bca0e905536ca6742d181fdade07258260659/controlsfx/src/main/java/org/controlsfx/dialog/LightweightDialog.java?at=8.0.6_20&fileviewer=file -view-default) (jetzt nicht unterstützt). – jewelsea