Class FXUtils
- java.lang.Object
-
- bitchanger.util.FXUtils
-
public class FXUtils extends Object
Utility-Klasse zur allgemeinen Verarbeitung von Objekten, die zur Oberfläche gehören.- Since:
- Bitchanger 0.1.4
- Version:
- 0.1.8
- Author:
- Tim Mühle
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static javafx.scene.shape.SVGPath
loadSVG(File svgFile)
Lädt ein Icon im svg-Format aus der übergebenen Datei und erstellt aus der Datei ein SVGPath Objekt, das dem Scenegraph in javaFX hinzugefügt würden kann.static <T extends javafx.scene.Node>
voidsetGridConstraints(int firstColumn, int firstRow, int columnCount, int columnOffset, Queue<T> controls)
Setzt die Constrains der Nodes in einer Schlange, um diese in einer GridPane zu positionieren.static <T extends javafx.scene.Node>
voidsetGridConstraints(int firstColumn, int firstRow, int columnCount, int columnOffset, Queue<T> controls, TriConsumer<javafx.scene.Node,Integer,Integer> consumer)
Arbeitet Nodes in einer Schlange als Tabelle ab.static void
setIconOrText(javafx.scene.control.Labeled labeled, SVGIcon icon)
Versucht dem Label eines Node ein Icon hinzuzufügen.static void
setIconOrText(javafx.scene.control.Labeled labeled, SVGIcon icon, String alternativeText)
Versucht im Label eines Node ein Icon hinzuzufügen.static void
setIconOrText(javafx.scene.control.MenuItem menuItem, SVGIcon icon)
Versucht dem Label eines MenuItems ein Icon als einzigen Text hinzuzufügen.static void
setIconOrText(javafx.scene.control.MenuItem menuItem, SVGIcon icon, String alternativeText)
Versucht im Label eines MenuItems ein Icon als einzigen Text hinzuzufügen.static void
setMaxSizes(Iterable<? extends javafx.scene.Node> nodes, double maxSize)
Setzt die maximale Größe aller Controls in einem Iterable auf den WertmaxSize
.static void
setMaxSizes(Iterable<? extends javafx.scene.Node> nodes, double maxWidth, double maxHeight)
Setzt die maximale Breite aller Controls in einem Iterable auf den WertmaxWidth
und die maximale Höhe auf den WertmaxHeight
.static Optional<javafx.scene.control.ButtonType>
showDeactivatableDialog(javafx.scene.control.Alert.AlertType dialogType, String title, String headerText, String message, javafx.beans.property.BooleanProperty deactivateDialogProperty, javafx.scene.control.ButtonType... buttonTypes)
Erstellt einenAlert
mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebeneOptional
zurück.static Optional<javafx.scene.control.ButtonType>
showDeactivatableDialog(javafx.scene.control.Alert.AlertType dialogType, String headerText, String message, javafx.beans.property.BooleanProperty deactivateDialogProperty, javafx.scene.control.ButtonType... buttonTypes)
Erstellt einenAlert
mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebeneOptional
zurück.static Optional<javafx.scene.control.ButtonType>
showDialog(javafx.scene.control.Alert.AlertType dialogType, String title, String headerText, String message, javafx.scene.control.ButtonType... buttonTypes)
Erstellt einenAlert
mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebeneOptional
zurückstatic Optional<javafx.scene.control.ButtonType>
showDialog(javafx.scene.control.Alert.AlertType dialogType, String headerText, String message, javafx.scene.control.ButtonType... buttonTypes)
Erstellt einenAlert
mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebeneOptional
zurückstatic Optional<javafx.scene.control.ButtonType>
showNumberOverflowWarning(NumberOverflowException noe)
Zeigt eine Warnmeldung zu einer NumberOverflowException an.
-
-
-
Method Detail
-
setGridConstraints
public static <T extends javafx.scene.Node> void setGridConstraints(int firstColumn, int firstRow, int columnCount, int columnOffset, Queue<T> controls)
Setzt die Constrains der Nodes in einer Schlange, um diese in einer GridPane zu positionieren.Die erste Node wird an die Position gesetzt, die über die Parameter und
firstColumn
,firstRow
undcolumnOffset
definiert ist. Die Matrix wird auf die Anzahl von Spalten verteilt, die mitcolumnCount
festgelegt ist und die Zeile automatisch umgebrochen. Die Constraints werden solange gesetzt, wie es Elemente in der Queue gibt.Die Nodes dürfen auch mehr als eine Spalte in der GridPane einnehmen. Die Spalte der darauffolgenden Node wird entsprechend inkrementiert, um keine Elemente zu überlagern.
- Type Parameters:
T
- Der Typ, den die Elemente in der Schlange zur Laufzeit haben- Parameters:
firstColumn
- Erste Spalte der resultierenden TabellefirstRow
- Erste Zeile der resultierenden TabellecolumnCount
- Anzahl der Spalten in der TabellecolumnOffset
- Verschiebung der ersten Spalte (wird nur in der ersten Zeile angewendet)controls
- Elemente in der Tabelle, mit der Reihenfolge von oben links nach unten rechts (Spalten werden vor den Zeilen inkrementiert)- See Also:
setGridConstraints(int, int, int, int, Queue, TriConsumer)
-
setGridConstraints
public static <T extends javafx.scene.Node> void setGridConstraints(int firstColumn, int firstRow, int columnCount, int columnOffset, Queue<T> controls, TriConsumer<javafx.scene.Node,Integer,Integer> consumer)
Arbeitet Nodes in einer Schlange als Tabelle ab.Für jede Node in der Schlange wir die Spalte inkrementiert. Wird die maximale Spaltenanzahl überschritten, wird die Zeile inkrementiert und die Spalte auf den Startwert gesetzt. Die Node wird mit den Werten der Zeile und Spalte an den TriConsumer übergeben, um diese Daten zu verarbeiten.
Die Nodes dürfen auch mehr als eine Spalte in der GridPane einnehmen. Die Spalte der darauffolgenden Node wird entsprechend inkrementiert, um keine Elemente zu überlagern.
- Type Parameters:
T
- Der Typ, den die Elemente in der Schlange zur Laufzeit haben- Parameters:
firstColumn
- Erste Spalte der resultierenden TabellefirstRow
- Erste Zeile der resultierenden TabellecolumnCount
- Anzahl der Spalten in der TabellecolumnOffset
- Verschiebung der ersten Spalte (wird nur in der ersten Zeile angewendet)controls
- Elemente in der Tabelle, mit der Reihenfolge von oben links nach unten rechts (Spalten werden vor den Zeilen inkrementiert)consumer
- TriConsumer, der die Daten verarbeitet
-
setMaxSizes
public static void setMaxSizes(Iterable<? extends javafx.scene.Node> nodes, double maxSize)
Setzt die maximale Größe aller Controls in einem Iterable auf den WertmaxSize
.- Parameters:
nodes
- Sammlung aller anzupassenden Controls, die auch in Layout-Containern liegen dürfenmaxSize
- Maximale Größe der Controls
-
setMaxSizes
public static void setMaxSizes(Iterable<? extends javafx.scene.Node> nodes, double maxWidth, double maxHeight)
Setzt die maximale Breite aller Controls in einem Iterable auf den WertmaxWidth
und die maximale Höhe auf den WertmaxHeight
.- Parameters:
nodes
- Sammlung aller anzupassenden Controls, die auch in Layout-Containern liegen dürfenmaxWidth
- maximale Breite aller ControlsmaxHeight
- maximale Höhe aller Controls
-
loadSVG
public static javafx.scene.shape.SVGPath loadSVG(File svgFile)
Lädt ein Icon im svg-Format aus der übergebenen Datei und erstellt aus der Datei ein SVGPath Objekt, das dem Scenegraph in javaFX hinzugefügt würden kann.- Parameters:
svgFile
- Icon als svg-Datei- Returns:
- Eingelesenes Icon als SVGPath oder
null
, wenn die Datei nicht eingelesen werden konnte
-
setIconOrText
public static void setIconOrText(javafx.scene.control.MenuItem menuItem, SVGIcon icon, String alternativeText)
Versucht im Label eines MenuItems ein Icon als einzigen Text hinzuzufügen. Wenn das Icon nicht korrekt geladen werden konnte wird stattdessen ein alternativer Text angezeigt. Bereits vorhandener Text im Label geht in beiden Fällen verloren!- Parameters:
menuItem
- MenuItem, das ein Icon anzeigen sollicon
- Icon, das angezeigt werden sollalternativeText
- Alternativer Text, falls das Icon nicht angezeigt werden kann
-
setIconOrText
public static void setIconOrText(javafx.scene.control.MenuItem menuItem, SVGIcon icon)
Versucht dem Label eines MenuItems ein Icon als einzigen Text hinzuzufügen. Wenn das Icon nicht korrekt geladen werden konnte bleibt stattdessen der bisherige Text im Label erhalten, ansonsten geht der bisherige Text im Label verloren!- Parameters:
menuItem
- MenuItem, das ein Icon anzeigen sollicon
- Icon, das angezeigt werden soll
-
setIconOrText
public static void setIconOrText(javafx.scene.control.Labeled labeled, SVGIcon icon, String alternativeText)
Versucht im Label eines Node ein Icon hinzuzufügen. Wenn das Icon nicht korrekt geladen werden konnte wird stattdessen ein alternativer Text angezeigt. Bereits vorhandener Text im Label geht in beiden Fällen verloren!- Parameters:
labeled
- Node, in dem ein Icon angezeigt werden sollicon
- Icon, das angezeigt werden sollalternativeText
- Alternativer Text, falls das Icon nicht angezeigt werden kann
-
setIconOrText
public static void setIconOrText(javafx.scene.control.Labeled labeled, SVGIcon icon)
Versucht dem Label eines Node ein Icon hinzuzufügen. Wenn das Icon nicht korrekt geladen werden konnte bleibt stattdessen der bisherige Text im Label erhalten, ansonsten geht der bisherige Text im Label verloren!- Parameters:
labeled
- Node, in dem ein Icon angezeigt werden sollicon
- Icon, das angezeigt werden soll
-
showNumberOverflowWarning
public static Optional<javafx.scene.control.ButtonType> showNumberOverflowWarning(NumberOverflowException noe)
Zeigt eine Warnmeldung zu einer NumberOverflowException an.- Parameters:
noe
- NumberOverflowException, zu der die Warnmeldung angezeigt wird- Returns:
Optional
, das vonDialog.showAndWait()
zurückgegeben wurde- Since:
- Bitchanger 0.1.7
-
showDialog
public static Optional<javafx.scene.control.ButtonType> showDialog(javafx.scene.control.Alert.AlertType dialogType, String title, String headerText, String message, javafx.scene.control.ButtonType... buttonTypes)
Erstellt einenAlert
mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebeneOptional
zurück- Parameters:
dialogType
- spezifischerAlert.AlertType
title
- Titel des DialogfenstersheaderText
- String, der in der Überschrift des Dialogs angezeigt wirdmessage
- String, der im Inhaltsbereich des Dialogs angezeigt wirdbuttonTypes
- Button-Typen, die im Dialog angezeigt werden- Returns:
Optional
, das vonDialog.showAndWait()
zurückgegeben wurde- Since:
- Bitchanger 0.1.7
-
showDialog
public static Optional<javafx.scene.control.ButtonType> showDialog(javafx.scene.control.Alert.AlertType dialogType, String headerText, String message, javafx.scene.control.ButtonType... buttonTypes)
Erstellt einenAlert
mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebeneOptional
zurück- Parameters:
dialogType
- spezifischerAlert.AlertType
headerText
- String, der in der Überschrift des Dialogs angezeigt wirdmessage
- String, der im Inhaltsbereich des Dialogs angezeigt wirdbuttonTypes
- Button-Typen, die im Dialog angezeigt werden- Returns:
Optional
, das vonDialog.showAndWait()
zurückgegeben wurde- Since:
- Bitchanger 0.1.7
-
showDeactivatableDialog
public static Optional<javafx.scene.control.ButtonType> showDeactivatableDialog(javafx.scene.control.Alert.AlertType dialogType, String title, String headerText, String message, javafx.beans.property.BooleanProperty deactivateDialogProperty, javafx.scene.control.ButtonType... buttonTypes)
Erstellt einenAlert
mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebeneOptional
zurück. Im Dialog gibt es eine CheckBox, um diesen Dialog zu aktivieren, die Einstellung dieser Checkbox wird beim Schließen des Dialogs in derdeactivateDialogProperty
gespeichert.- Parameters:
dialogType
- spezifischerAlert.AlertType
title
- Titel des DialogfenstersheaderText
- String, der in der Überschrift des Dialogs angezeigt wirdmessage
- String, der im Inhaltsbereich des Dialogs angezeigt wirddeactivateDialogProperty
- Property, um diesen Dialog zu deaktivierenbuttonTypes
- Button-Typen, die im Dialog angezeigt werden- Returns:
Optional
, das vonDialog.showAndWait()
zurückgegeben wurde- Since:
- Bitchanger 0.1.7
-
showDeactivatableDialog
public static Optional<javafx.scene.control.ButtonType> showDeactivatableDialog(javafx.scene.control.Alert.AlertType dialogType, String headerText, String message, javafx.beans.property.BooleanProperty deactivateDialogProperty, javafx.scene.control.ButtonType... buttonTypes)
Erstellt einenAlert
mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebeneOptional
zurück. Im Dialog gibt es eine CheckBox, um diesen Dialog zu aktivieren, die Einstellung dieser Checkbox wird beim Schließen des Dialogs in derdeactivateDialogProperty
gespeichert.- Parameters:
dialogType
- spezifischerAlert.AlertType
headerText
- String, der in der Überschrift des Dialogs angezeigt wirdmessage
- String, der im Inhaltsbereich des Dialogs angezeigt wirddeactivateDialogProperty
- Property, um diesen Dialog zu deaktivierenbuttonTypes
- Button-Typen, die im Dialog angezeigt werden- Returns:
Optional
, das vonDialog.showAndWait()
zurückgegeben wurde- Since:
- Bitchanger 0.1.7
-
-