[RT-33954] static block...causes IllegalStateException - re-open?
Kevin Rushforth
kevin.rushforth at oracle.com
Tue Apr 8 13:09:39 UTC 2014
Hi,
What you've discovered is exactly how the Java launcher is intended to
work (we have unit tests that verify this fact). The launcher recognizes
a JavaFX application by checking whether the class to be launched
extends javafx.application.Application. So this isn't a side effect, but
an intentional behavior.
The advice given in the JIRA is what you will need to do before
accessing JavaFX:
1) Call Application.launch(MyAppClass.class)
2) Call "new JFXPanel()"
-- Kevin
Sandipan Razzaque wrote:
> Kevin/Jonathan -
>
> Steve's example in the Jira captures perfectly what I was encountering
> in Java, and I've been trying to boil it down into a minimal failing
> example - reconciling it with what I've experienced in dynamic languages.
>
> Turns out it's about whether or not you extend Application. This leads
> me to believe that it's something in Application's classloading that
> enables your example to work cleanly.
>
> Try your class out again - with the minor edits I've made below:
>
> public class Example /* extends Application */ {
> public static void main(String[] args) {
> //this is called from a static block in
> javafx.scene.control.Control
> PlatformImpl.setDefaultPlatformUserAgentStylesheet();
>
> Application.launch(args);
> }
>
> /*@Override*/
> public void start(final Stage primaryStage) throws Exception {
> }
> }
>
> Cheers,
> SR
>
>
>
> Sandipan Razzaque | www.sandipan.net <http://www.sandipan.net>
>
>
> On Mon, Apr 7, 2014 at 9:42 PM, Richard Bair <richard.bair at oracle.com
> <mailto:richard.bair at oracle.com>> wrote:
>
> Yes, this is one of the few things that I just hate about IDEA.
>
> On Apr 7, 2014, at 6:00 PM, Kevin Rushforth
> <kevin.rushforth at oracle.com <mailto:kevin.rushforth at oracle.com>>
> wrote:
>
> > I can't speak to other IntelliJ issues, but the root cause of
> this particular one is the same thing that Debbie ran into last
> week -- IntelliJ doesn't launch programs using the standard Java
> launcher. For whatever reason, it uses its own launcher. This
> might be worth raising with JetBrains.
> >
> > -- Kevin
> >
> >
> > Jonathan Giles wrote:
> >> Kevin,
> >>
> >> Yes, that is the program I used, and yes, I get the 'Toolkit
> not initialized' exception. I am running IntelliJ, so that is the
> reason. I switched over to Eclipse and the code run as expected.
> >>
> >> I am slightly bothered by the occasional failures that seem to
> be IntelliJ-specific. I have a gut feeling that it doesn't always
> run all tests (or that it runs them slightly differently to get
> different results than when run on the command line). Does anyone
> know why this is?
> >>
> >> I'm actually most at home in Eclipse, so perhaps I should
> switch to that as my primary IDE for OpenJFX development.
> >>
> >> -- Jonathan
> >>
> >> On 8/04/2014 11:29 a.m., Kevin Rushforth wrote:
> >>> Just to make sure we are running the same program, the one I
> ran to verify that RT-33954 is fixed was the simple test program
> in the comments of that bug. Here it is (with the imports omitted
> for brevity).
> >>>
> >>> public class Example extends Application {
> >>> public static void main(String[] args) {
> >>> //this is called from a static block in
> javafx.scene.control.Control
> >>> PlatformImpl.setDefaultPlatformUserAgentStylesheet();
> >>>
> >>> Application.launch(args);
> >>> }
> >>>
> >>> @Override
> >>> public void start(final Stage primaryStage) throws Exception {
> >>> }
> >>> }
> >>>
> >>> The above program runs fine for me with no exception.
> >>>
> >>> Jonathan: are you seeing something different? Or perhaps
> running a different example?
> >>>
> >>> NOTE: if you run this from IntelliJ it will not work. I
> verified that with Debbie last week (on a different issue), which
> may be why you are seeing a problem. Running it from command line,
> from NB, or from Eclipse works.
> >>>
> >>> -- Kevin
> >>>
> >>>
> >>> Jonathan Giles wrote:
> >>>> Firstly, I agree - this does seem to still be reproducible
> despite Kevin's comment that it should have been resolved in
> JavaFX 8.0 due to RT-28754
> <https://javafx-jira.kenai.com/browse/RT-28754>, so that is
> troubling. I'll leave Kevin to comment on that.
> >>>>
> >>>> Secondly, RT-33954 was closed as a duplicate of RT-28754
> <https://javafx-jira.kenai.com/browse/RT-28754>, so it would be
> better to leave RT-33954 closed and move discussion (including
> what you recently posted) into RT-28754
> <https://javafx-jira.kenai.com/browse/RT-28754>. The discussion
> can start in there and most probably a new bug will need to be
> opened (as RT-28754
> <https://javafx-jira.kenai.com/browse/RT-28754> did result in a
> code change that at one point appears to have fixed the problem,
> so we're possibly dealing with a regression).
> >>>>
> >>>> Thirdly, whether this is a suitable bug for someone learning
> the ropes is debatable. I'll leave Kevin to offer his thoughts,
> but perhaps you can propose a patch that resolves this issue for
> you in your test scenarios. Also, a good starting point is to
> develop a simple test application that helps to demonstrate this
> issue (preferably the test case is a single class with no
> dependencies), and which you can then share in the jira issue via
> copy/paste into a comment.
> >>>>
> >>>> Fourthly, to be a contributor in the OpenJDK requires you to
> follow a process to get the paperwork in order. It is wise to get
> that started as soon as possible, as it can sometimes take a
> while. Here's a link to the process:
> http://openjdk.java.net/contribute/ The main thing is the OCA.
> >>>>
> >>>> Finally, welcome! :-)
> >>>>
> >>>> -- Jonathan
> >>>>
> >>>> On 6/04/2014 1:06 p.m., Sandipan Razzaque wrote:
> >>>>> Hi JavaFX devs!
> >>>>>
> >>>>> I was wondering how people felt about re-opening this bug? I
> don't believe
> >>>>> it has been fixed (see my comment).
> >>>>>
> >>>>> I'm also happy to work on it. But, let me know if you think
> my time would
> >>>>> be better spent elsewhere. I'm keen to take on a small bug
> to just get the
> >>>>> hang of the process and community (I'll be stumbling with
> mercurial along
> >>>>> the way too!). I think this bug is an ideal candidate for
> someone just
> >>>>> learning the ropes.
> >>>>>
> >>>>> https://javafx-jira.kenai.com/browse/RT-33954
> >>>>>
> >>>>> Cheers,
> >>>>> SR
> >>>>>
> >>>>> Sandipan Razzaque | www.sandipan.net <http://www.sandipan.net>
> >>>>
> >>
>
>
More information about the openjfx-dev
mailing list