Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

RBO

Joseph KayJun 24 2006 — edited Jun 29 2006
Hi,
After gone through the discussions on RBO, I think I can forget about RBO in Oracle 9 and above. Am I right ?

Comments

camickr
I'm using JInternalFrame as a modal frame( we couldn't use JDialog).
Why? How is a modal JInternalFrame different than a modal JDialog?
843806
camickr wrote:


Why? How is a modal JInternalFrame different than a modal JDialog?
JDialog does NOT bound to the desktop area so that a user can move JDialog anywhere in a screen.
JDialog appearance is not same as the other window (JInternalFrame(s)) in the application.
800774
This is a bug, and there are several open bugs on the same subject.
The only pop up that works in this situation is a heavy weight pop up.

There are 3 types of pop up windows: light weight, medium weight and heavy weight.
When you call setLightWeightPopupEnabled(false) the combo box uses the medium weight when the pop up window is inside the application frame, and heavy weight when the window exceeds the frame bounds.

There is no easy way to force the pop up to heavy weight, since most of the functions and fields in the relevant classes are private.
But you can use reflection to access them.
Here is one solution (tested and working with JDK 5) - adding the client property forceHeavyWeightPopupKey from PopupFactory to your combo box.
...
cbo.setLightWeightPopupEnabled(false);
try {					
	Class cls = Class.forName("javax.swing.PopupFactory");
	Field field = cls.getDeclaredField("forceHeavyWeightPopupKey");
	field.setAccessible(true);
	cbo.putClientProperty(field.get(null), Boolean.TRUE);
} catch (Exception e1) {e1.printStackTrace();}
...
843806
Many tanks for your answer Rodney_McKay.
It works fine.
843806
If the modalInternalFrame is resized, reshape() is invoked and it does something like stopModal().
// Add modal internal frame to glass pane
this.setResizable(true);
glass.add(this);
It is also strange that the existing menus/ frames are covered by the glass.
843806
I have this Same issue however I am stuck at 1.4.2 and it seems this property pointed out by Rodney_McKay does not exist.
Rodney_McKay wrote:
Here is one solution (tested and working with JDK 5) - adding the client property forceHeavyWeightPopupKey from PopupFactory to your combo box.
Does anyone know if there is a workaround available for 1.4.2? Also, I am using this code in a JApplet if that makes a differnce.
darrylburke
theSchaef

Please don't post in threads that are long dead. When you have a question, start your own topic. Feel free to provide a link to an old post that may be relevant to your problem.

I'm locking this thread now. It's about 5 months old.

db
1 - 7
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jul 27 2006
Added on Jun 24 2006
7 comments
233 views