Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-4784

Using iPOJO in a JavaFX Application

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • iPOJO
    • None
    • Ubuntu 14.04, Java 8 - JavaFX 8, Apache Felix

    Description

      I am doing a Javafx application in Apache Felix along with some experiments using iPOJO. I also posted the same question in StackOverflow.

      First is I called the Application.launch() method in a different class and then start an another class containing the iPOJO @Requires like this:

      public class JavafxApp extends Application {
          @Override
          public void start(Stage primaryStage){
              /* Do nothing here because I thought I can initialize JavaFX in a different class */
          }
      
          public void start(){
              Platform.runLater(() -> {
                  launch(JavafxApplication.class);
              });
          }
      }
      
      public class MyApplication {
          @Requires
          LibraryClass class;
      
          @Validate
          public void start(){
              JavafxApp.start();
              class.someMethod();
          }
      
      }
      
      

      This implementation throws this exception, java.lang.IllegalStateException: Toolkit not initialized but the iPOJO located the implementation class of the LibraryClass interface.

      After some research I found out that the application should be inside the class that extends the javafx.application.Application so I did some restructuring.

      public class JavafxApp extends Application {
      
          @Requires
          LibraryClass class;
      
          @Override
          public void start(Stage primaryStage){
              class.someMethod();
          }
      
          @Validate
          public void start(){
              launch(JavafxApp.class);
          }
      
      }
      

      Now the iPOJO throws a RuntimeException and the LibraryClass becomes null and the application throws a NullPointerException.

      My questions are:

      • Is it possible to use iPOJO in this situation?
      • If it is what is the right way to use iPOJO in a JavaFX application?

      Attachments

        Activity

          People

            Unassigned Unassigned
            kugtong33 Arjay Sitoy
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: