« What's with the splash screen on WSAD!? | Main | Co-workers: Lovable fools or Competent Jerks? »
Oracle's ODM tool has a Swing re-draw issue?
June 01, 2005
Oracle's ODM tool seems to have a Swing re-draw issue.
We've been using Oracle Directory Manager (ODM), a graphical tool to manage Oracle's LDAP server (OID). Anyway, some other quirks aside, once I got the tool to start up, I was presented with this:
Now, by the time this screen comes up, you've already been prompted for username, password, server so you should be "logged in" and presented with a tree view of your LDAP objects. Yet, no tree view. I exited out and came back. No luck. Googled for an answer. No luck. Then by chance, I thought back to my swing programming days and remembered the redraw issues. So I grabbed a window corner and resized it slightly. Voila! The tree view with my LDAP objects magically appears:
I'm not sure what's happening in code, but I'm guessing they launch a seperate thread (#2) to do the login stuff and give control back to the UI thread (#1). The UI thread finishes up before the login thread is done. When the login thread finishes, it fails to force a redraw to show the tree. My manual window resizing forces the redraw and the tree shows. Just amusing that this is happening in a commercial product. I haven't done swing development for a while (just AWT for PocketPC and now a little SWT) but I believe there are ways to solve this problem in code. Someone should pass that onto Oracle.
Oh, and for the curious: I'm using ODM version 9.2.0.1.0.
June 1, 2005 at 11:16 AM in Java | Permalink
TrackBack
TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d834205eab53ef00d83447e83653ef
Listed below are links to weblogs that reference Oracle's ODM tool has a Swing re-draw issue?:
Comments
I solved a problem just like this a week ago, only in my case the text fields weren't showing up. The problem was the the frame was being .packed() just ever so slightly to small, but only on this one persons computer. When GridBagLayout doesn't have enough room to lay something out at it's preferred size (even if it's just 1 pixel off), it lays it out at its minimum size - which in this case, looks like it's 0.
Posted by: Paul Rivers | Jun 3, 2005 1:57:22 PM
