Summary: | Overlaying Swing components atop GLJPanel not working on Mac OS Java 7 | ||
---|---|---|---|
Product: | [JogAmp] Jogl | Reporter: | Michael Bayne <org.jogamp> |
Component: | macosx | Assignee: | Sven Gothel <sgothel> |
Status: | RESOLVED WORKSFORME | ||
Severity: | enhancement | ||
Priority: | --- | ||
Version: | 2 | ||
Hardware: | All | ||
OS: | all | ||
Type: | --- | SCM Refs: | |
Workaround: | --- | ||
Attachments: | Test program showing bug |
Similar experience w/ TestTiledPrintingGearsSwingAWT2 when using [1 ] anim == true ; layered == true ; layout == false, while [2 ] anim == any ; layered == true ; layout == true works fine (LayeredPane), as well as [1'] anim == false; layered == true ; layout == false, while So in [1] the animation (display) sort of renders the top jbutton invisible. I am unsure whether this is a bug or a feature, i.e. whether we are required to force the Animator driven display to update the top-level jbutton as well .. or if users shall use LayeredPane. I guess the latter is true (-> [2]). If you disagree .. please reopen and provide [an idea to] a remedy. Ah, OK. I was adding the GLJPanel to the RootPane and then my overlay to the JLayeredPane, but if I add them both to the JLayeredPane it works. Thanks! |
Created attachment 507 [details] Test program showing bug GLJPanel is supposed to allow JOGL to coexist with Swing UIs, but if we try to overlay a Swing component atop the GLJPanel, the Swing component is not refreshed when the GLJPanel is redrawn. Overlaying a heavyweight component does work, so that's a viable workaround. I've attached a simple program that shows the overlay of a Button and a JButton atop a GLJPanel. If you click the JButton (causing it to be redrawn) you'll see it flash into existence for a frame, until it's overwritten again on the next frame by GLJPanel. My use case is overlaying native Java text fields atop a JOGL view to allow sophisticated text entry into an otherwise GL-based app without having to reimplement the extremely complex universe of text entry methods. Presumably this would also cause problems with a Swing popup menu that overlapped a JOGL view.