Quick start Published : 17 Aug 2020


  • Oracle JDK 1.8 or Open JDK with JavaFx binary distribution
  • (Optional) JavaFx Scene Builder for graphic design

Development setup

  • There are two ways to create an Actlist plugin. the first one is using starter-kit(which is highly recommended) and second one is creating java project manually.

    1. using starter-kit
    1. Download starter kit
    2. Rename master.zip to the desired name and unzip it
    3. Enter the directory
    4. Initialize your project metadata
      $ ./mvnw initialize -DgroupId=com.example -DartifactId=awesome-demo

      Tip - If you are behind a proxy server then you should use one of the following

      • Windows
        $ set MAVEN_OPTS=-Dhttps.proxyHost= -Dhttps.proxyPort=8080
        $ mvnw initialize -DgroupId=com.example -DartifactId=awesome-demo
      • Mac | Linux
        $ export MAVEN_OPTS=-Dhttps.proxyHost= -Dhttps.proxyPort=8080
        $ ./mvnw initialize -DgroupId=com.example -DartifactId=awesome-demo
      • Note - The proxy host and proxy port 8080 is up to you.
    5. Import project into your favorite IDE
    2. or creating java project manually
    • Create a new Java project and configure to Maven project.
    • Add parent and property information to pom.xml
    • Generate executable main class called your.pkg.Plugin.java that you assigned from mainClass property on pom.xml
    • Inherit the ActlistPlugin class in your Plugin class.
    • (Optional) to make a plugin that contains graphic things, you can write the Plugin.fxml file where in the same location.
    • (Optional) you can set the plugin’s icon image to display on about menu (Right click > About) through Plugin.png. if not exists Plugin.png then default Actlist logo image will be displayed.
    • Done.

      Here is an example source code of Plugin.java

      package your.pkg;
      import org.silentsoft.actlist.plugin.ActlistPlugin;
      public class Plugin extends ActlistPlugin {
          public static void main(String args[]) throws Exception {
          public Plugin() throws Exception {
              super("Example Plugin");
               * you can induce to use the latest version of the plugin to your users via
               * setPluginUpdateCheckURI(URI.create("http://your-server.name"));
              setPluginAuthor("John Doe");
               * or you could use hyper-link via
               * setPluginAuthor("John Doe", URI.create("https://github.com/your-github-account/"));
              setPluginDescription("You can set the description of your plugin");
               * or you could use file via
               * setPluginDescription(getClass().getResource("/Plugin.description").toURI());
               * ! you can set the plugin's ChangeLog and License with same way
          protected void initialize() throws Exception {
          public void pluginActivated() throws Exception {
          public void pluginDeactivated() throws Exception {

Improve this page