[
https://issues.apache.org/jira/browse/FELIX-4784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arjay Sitoy updated FELIX-4784:
-------------------------------
Affects Version/s: (was: ipojo-manipulator-1.12.1)
(was: ipojo-runtime-1.12.1)
> Using iPOJO in a JavaFX Application
> -----------------------------------
>
> Key: FELIX-4784
> URL: https://issues.apache.org/jira/browse/FELIX-4784
> Project: Felix
> Issue Type: Bug
> Components: iPOJO
> Environment: Ubuntu 14.04, Java 8 - JavaFX 8, Apache Felix
> Reporter: Arjay Sitoy
> Priority: Blocker
>
> I am doing a Javafx application in {{Apache Felix}} along with some
> experiments using {{iPOJO}}. I also posted the same question in
> [*StackOverflow*|http://stackoverflow.com/questions/28289948/using-ipojo-in-a-javafx-application].
> First is I called the {{Application.launch()}} method in a different class
> and then start an another class containing the iPOJO {{@Requires}} like this:
> {code}
> 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();
> }
> }
> {code}
> 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.
> {code}
> public class JavafxApp extends Application {
> @Requires
> LibraryClass class;
> @Override
> public void start(Stage primaryStage){
> class.someMethod();
> }
> @Validate
> public void start(){
> launch(JavafxApp.class);
> }
> }
> {code}
> 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?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)