Class 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>
      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.
      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.
      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 Wert maxSize.
      static void setMaxSizes​(Iterable<? extends javafx.scene.Node> nodes, double maxWidth, double maxHeight)
      Setzt die maximale Breite aller Controls in einem Iterable auf den Wert maxWidth und die maximale Höhe auf den Wert maxHeight.
      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 einen Alert mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebene Optional 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 einen Alert mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebene Optional 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 einen Alert mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebene Optional zurück
      static Optional<javafx.scene.control.ButtonType> showDialog​(javafx.scene.control.Alert.AlertType dialogType, String headerText, String message, javafx.scene.control.ButtonType... buttonTypes)
      Erstellt einen Alert mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebene Optional zurück
      static 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 und columnOffset definiert ist. Die Matrix wird auf die Anzahl von Spalten verteilt, die mit columnCount 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 Tabelle
        firstRow - Erste Zeile der resultierenden Tabelle
        columnCount - Anzahl der Spalten in der Tabelle
        columnOffset - 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 Tabelle
        firstRow - Erste Zeile der resultierenden Tabelle
        columnCount - Anzahl der Spalten in der Tabelle
        columnOffset - 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 Wert maxSize.
        Parameters:
        nodes - Sammlung aller anzupassenden Controls, die auch in Layout-Containern liegen dürfen
        maxSize - 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 Wert maxWidth und die maximale Höhe auf den Wert maxHeight.
        Parameters:
        nodes - Sammlung aller anzupassenden Controls, die auch in Layout-Containern liegen dürfen
        maxWidth - maximale Breite aller Controls
        maxHeight - 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 soll
        icon - Icon, das angezeigt werden soll
        alternativeText - 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 soll
        icon - 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 soll
        icon - Icon, das angezeigt werden soll
        alternativeText - 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 soll
        icon - 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 von Dialog.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 einen Alert mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebene Optional zurück
        Parameters:
        dialogType - spezifischer Alert.AlertType
        title - Titel des Dialogfensters
        headerText - String, der in der Überschrift des Dialogs angezeigt wird
        message - String, der im Inhaltsbereich des Dialogs angezeigt wird
        buttonTypes - Button-Typen, die im Dialog angezeigt werden
        Returns:
        Optional, das von Dialog.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 einen Alert mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebene Optional zurück
        Parameters:
        dialogType - spezifischer Alert.AlertType
        headerText - String, der in der Überschrift des Dialogs angezeigt wird
        message - String, der im Inhaltsbereich des Dialogs angezeigt wird
        buttonTypes - Button-Typen, die im Dialog angezeigt werden
        Returns:
        Optional, das von Dialog.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 einen Alert mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebene Optional zurück. Im Dialog gibt es eine CheckBox, um diesen Dialog zu aktivieren, die Einstellung dieser Checkbox wird beim Schließen des Dialogs in der deactivateDialogProperty gespeichert.
        Parameters:
        dialogType - spezifischer Alert.AlertType
        title - Titel des Dialogfensters
        headerText - String, der in der Überschrift des Dialogs angezeigt wird
        message - String, der im Inhaltsbereich des Dialogs angezeigt wird
        deactivateDialogProperty - Property, um diesen Dialog zu deaktivieren
        buttonTypes - Button-Typen, die im Dialog angezeigt werden
        Returns:
        Optional, das von Dialog.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 einen Alert mit den übergebenen Parametern, zeigt diesen an und gibt das zurückgegebene Optional zurück. Im Dialog gibt es eine CheckBox, um diesen Dialog zu aktivieren, die Einstellung dieser Checkbox wird beim Schließen des Dialogs in der deactivateDialogProperty gespeichert.
        Parameters:
        dialogType - spezifischer Alert.AlertType
        headerText - String, der in der Überschrift des Dialogs angezeigt wird
        message - String, der im Inhaltsbereich des Dialogs angezeigt wird
        deactivateDialogProperty - Property, um diesen Dialog zu deaktivieren
        buttonTypes - Button-Typen, die im Dialog angezeigt werden
        Returns:
        Optional, das von Dialog.showAndWait() zurückgegeben wurde
        Since:
        Bitchanger 0.1.7