Skip to main content

Endless blocked UI with task pane container and third party libraries

Please note these java.net forums are being decommissioned and use the new and improved forums at https://community.oracle.com/community/java.
3 replies [Last post]
mdaenzer
Offline
Joined: 2003-06-14
Points: 0

Dear SwingX Team

We have a problem with the JXTaskPaneContainer in a constellation with certain Synthetica Look And Feels and with Canoo ULC (more about that later).

When we use e.g. a text field within the task pane container of SwingX and we use Synthetica Sky Metallic or White Vision as LookAndFeel, then the field gets the focus and a dashed border is drawn continuously around the field. Now it seems that the painting of that border forces the JXTaskPaneContainer to repaint its background. In turn, this lasts pretty long (around 30 millis). This behavior seems to be introduced with SwingX 1.6.5-1 as we can not see this behavior with 1.6.4.

Now, so far this would not be a big issue, but we are using ULC from Canoo. This is a technology which divides Swing into a client side for the presentation and a server side. In other words, UI events are sent from the client to the server where they are processed and the response (the changes in the UI) is sent back to the client. During this round trip, ULC blocks the UI to not allow changes before the response can be rendered.

What happens in combination now: On our ULC client a UI event happens (e.g. a click on a tab or so) that would force the ULC client side to send a request to the ULC server. So ULC blocks the UI (waiting cursor and clicks have no more an effect) already at paint time. Now it seems that as soon as the text field border and with this the task pane container background are painted, then already the next call of the border paint starts. Leading to the problem that ULC waits endless on the end of painting. And maintains the block of the UI :-(

Unfortunately we have this constellation quite a lot and it hinders us to update SwingX or Synthetica where as we would like to update to gain from fixes and so on. We are clear that the problem only happens in the combination of SwingX 1.6.5-1, Synthetica and ULC. So this message will be posted to the support channel of all 3 entities.

The specific question for here, what has been changed between 1.6.4 and 1.6.5-1 in the painting of the task pane container (background) and what could we do to reduce the long painting time?

Kind regards
Michael Dänzer

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
kleopatra
Offline
Joined: 2003-06-11
Points: 0

There had been changes to the painting mechanism of JXPanel (which is the super-class of taskpanecontainer) - and some related problems with Synthetica (or any synth-based LAF), that's why we had this emergency 1.6.5-1 release :-)

Thought we got them all, by more or less reverting if a synth-based LAF is detected - this forum has a couple of threads around the latest release date.

Which OS/java version are you using? As to swingx, do you have the version that comes with Synthetica, it's slighty patched so might help. Any reaction from Jyloo yet? (Don't have a recent version handy right now, so cant check myself)

Cheers
Jeanette

mdaenzer
Offline
Joined: 2003-06-14
Points: 0

We read about this "patch" for the JXPanel and we switched on that property. Unfortunately we then have NPE at some point :-(

We use the version provided by Jyloo which should be 1.6.5-1 and we are in contact with Jyloo but no solution for now (just a work around). We tested with different Java versions but mostly on 1.7.25 and 40. OS is always Windows, if required we can check whether it works with other OS or older Java versions.

I will scan the forum for the similar entries, maybe we are lucky :-)

Kind regards
Michael

kleopatra
Offline
Joined: 2003-06-11
Points: 0

thanks for the details :-)

Curious: what is Jyloo's evaluation - is it more a problem of SwingX or of Synthetica/Addons?

Cheers
Jeanette