Defining a custom icon for a component or component family

Every component family and component needs to have a representative icon.
You have to define a custom icon as follows:

  • For the component family the icon is defined in the package-info.java file.

  • For the component itself, you need to declare the icon in the component class.

Custom icons must comply with the following requirements:

  • Icons must be stored in the src/main/resources/icons folder of the project.

  • Icon file names need to match one of the following patterns: IconName.svg or IconName_icon32.png. The latter will run in degraded mode in Talend Cloud. Replace IconName by the name of your choice.

  • The icon size for PNG must be 32x32. For SVG, the viewBox must be 16x16.

  • Icons must be squared, even for the SVG format.

@Icon(value = Icon.IconType.CUSTOM, custom = "IconName")

Note that SVG icons are not supported by Talend Studio and can cause the deployment of the component to fail.

If you aim at deploying a custom component to Talend Studio, specify PNG icons or use the Maven (or Gradle) svg2png plugin to convert SVG icons to PNG. If you want a finer control over both images, you can provide both in your component.

Ultimately, you can also remove SVG parameters from the talend.component.server.icon.paths property in the HTTP server configuration.

Scroll to top