Package org.patternfly.icon


package org.patternfly.icon
Provides classes and interfaces for working with predefined SVG icons in PatternFly Java.

PatternFly Java comes with predefined icons from multiple icon sets:

Usage

The IconSets interface provides static factory methods to easily access these icons. Icons are returned as instances of PredefinedIcon, which extends SVG builder interfaces and allows easy customization of the icon's SVG element.

Components that support icons typically implement the ComponentIcon or ComponentIconAndText interfaces and use a common API for icon integration.

Example

The following example demonstrates using icons with a description list component:

import static org.patternfly.component.IconPosition.start;
import static org.patternfly.icon.IconSets.fas.book;
import static org.patternfly.icon.IconSets.fas.cube;
import static org.patternfly.icon.IconSets.fas.flag;
import static org.patternfly.icon.IconSets.fas.globe;
import static org.patternfly.icon.IconSets.fas.plusCircle;
import static org.patternfly.icon.IconSets.patternfly.key;

DescriptionList dl = descriptionList()
        .addGroup(descriptionListGroup()
                .addTerm(descriptionListTerm("Name").icon(cube()))
                .addDescription(descriptionListDescription("Example")))
        .addGroup(descriptionListGroup()
                .addTerm(descriptionListTerm("Namespace").icon(book()))
                .addDescription(descriptionListDescription()
                        .add(a("#").textContent("mary-test"))))
        .addGroup(descriptionListGroup()
                .addTerm(descriptionListTerm("Labels").icon(key()))
                .addDescription(descriptionListDescription("example")))
        .addGroup(descriptionListGroup()
                .addTerm(descriptionListTerm("Pod selector").icon(globe()))
                .addDescription(descriptionListDescription()
                        .add(button().iconAndText(plusCircle(), "app=MyApp", start)
                                .inline().link())))
        .addGroup(descriptionListGroup()
                .addTerm(descriptionListTerm("Annotation").icon(flag()))
                .addDescription(descriptionListDescription("2 annotations")));

Dynamic Icon Loading

If you need to load an icon based on a string name, use PredefinedIcon.predefinedIcon(String). The name can optionally include the icon set prefix (e.g., "fab.github" or "patternfly.user"). If no prefix is specified, the "fas" (FontAwesome solid) icon set is used by default.

See Also: