Class IconGroup

java.lang.Object
org.fife.ui.rtextarea.IconGroup

public class IconGroup extends Object
This class encapsulates the location, properties, etc. of an icon set used for an instance of RTextArea. If the location of the icon group is invalid in any way, any attempt to retrieve icons from an icon group will return null. An icon group can logically refer to any set of icons. You will primarily fetch icons via the getIcon(String) method, which fetches an icon at the specified path from the icon group's jar.

However, to support embedding RSTA in applications that are code editors, icon groups also support defining icons for file types that RSTA supports, as defined in SyntaxConstants. To use this feature, have your icon group have icons in a fileTypes/ subpath. The icon names should be the second "part" of the syntax constant values. For example:

  • fileTypes/default.png
  • fileTypes/java.png
  • fileTypes/javascript.png
In this scenario, calling getFileTypeIcon(String) is shorthand for getIcon("fileTypes/" + fileTypePart). The only added benefit to using getFileTypeIcon() is that method will default to the icon named "fileTypes/default.<extension>" if the actually-requested icon does not exist.
Version:
0.5
  • Field Details

    • path

      private String path
    • separateLargeIcons

      private boolean separateLargeIcons
    • largeIconSubDir

      private String largeIconSubDir
    • extension

      private String extension
    • name

      private String name
    • jarFile

      private String jarFile
    • DEFAULT_EXTENSION

      private static final String DEFAULT_EXTENSION
      See Also:
  • Constructor Details

    • IconGroup

      public IconGroup(String name, String path)
      Creates an icon set without "large versions" of the icons.
      Parameters:
      name - The name of the icon group.
      path - The directory containing the icon group.
    • IconGroup

      public IconGroup(String name, String path, String largeIconSubDir)
      Constructor.
      Parameters:
      name - The name of the icon group.
      path - The directory containing the icon group.
      largeIconSubDir - The subdirectory containing "large versions" of the icons. If no subdirectory exists, pass in null.
    • IconGroup

      public IconGroup(String name, String path, String largeIconSubDir, String extension)
      Constructor.
      Parameters:
      name - The name of the icon group.
      path - The directory containing the icon group.
      largeIconSubDir - The subdirectory containing "large versions" of the icons. If no subdirectory exists, pass in null.
      extension - The extension of the icons (one of gif, jpg, or png).
    • IconGroup

      public IconGroup(String name, String path, String largeIconSubDir, String extension, String jar)
      Constructor.
      Parameters:
      name - The name of the icon group.
      path - The directory containing the icon group.
      largeIconSubDir - The subdirectory containing "large versions" of the icons. If no subdirectory exists, pass in null.
      extension - The extension of the icons (one of gif, jpg, or png).
      jar - The Jar file containing the icons, or null if the icons are on the local file system. If a Jar is specified, the value of path must be a path in the Jar file. If this is not a valid Jar file, then no Jar file will be used, meaning all icons returned from this icon group will be null.
  • Method Details

    • equals

      public boolean equals(Object o2)
      Returns whether two icon groups are equal.
      Overrides:
      equals in class Object
      Parameters:
      o2 - The object to check against.
      Returns:
      Whether o2 represents the same icons as this icon group.
    • getFileTypeIcon

      public Icon getFileTypeIcon(String rstaSyntax)
      Returns an icon that represents the file type specified.
      Parameters:
      rstaSyntax - The syntax value, from SyntaxConstants.
      Returns:
      The icon, or null if a fallback icon should be used.
    • getIcon

      public Icon getIcon(String name)
      Returns the icon from this icon group with the specified name.
      Parameters:
      name - The name of the icon. For example, if you want the icon specified in new.gif, this value should be new.
      Returns:
      The icon, or null if it could not be found or loaded.
      See Also:
    • getIconImpl

      protected Icon getIconImpl(String iconFullPath)
      Does the dirty work of loading an image.

      This method is protected so applications can provide other implementations, for example, adding the ability to load SVG icons.

      Parameters:
      iconFullPath - The full path to the icon, either on the local file system or in the Jar file, if this icon group represents icons in a Jar file.
      Returns:
      The icon.
    • getLargeIcon

      public Icon getLargeIcon(String name)
      Returns the large icon from this icon group with the specified name. If this icon group does not have large icons, null is returned.
      Parameters:
      name - The name of the icon. For example, if you want the icon specified in new.gif, this value should be new.
      Returns:
      The icon, or null if it could not be found or loaded.
      See Also:
    • getName

      public String getName()
      Returns the name of this icon group.
      Returns:
      This icon group's name.
    • hasSeparateLargeIcons

      public boolean hasSeparateLargeIcons()
      Returns whether a separate directory for the large icons exists.
      Returns:
      Whether a directory containing "large versions" of the icons exists.
      See Also:
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object