United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 4256525 JInternalFrame Activation should be cheaper
4256525 : JInternalFrame Activation should be cheaper

Details
Type:
Bug
Submit Date:
1999-07-23
Status:
Resolved
Updated Date:
2003-09-05
Project Name:
JDK
Resolved Date:
2003-09-05
Component:
client-libs
OS:
solaris_2.6,windows_2000
Sub-Component:
javax.swing
CPU:
x86,sparc
Priority:
P4
Resolution:
Fixed
Affected Versions:
1.3.0,1.4.0
Fixed Versions:
5.0

Related Reports
Duplicate:

Sub Tasks

Description
Right now the process of activating an internal frame cause WAAYYY too much stuff to happen.  When the frame is clicked on, it is removed from the heirarchy and then reinserted in the new position.  This causes all sorts of layout to happen.  This is totally overkill.

All we need to do is chance the position of the frame in question and then repaint just that single frame.  That's it.  This would be very fast.

                                    

Comments
CONVERTED DATA

BugTraq+ Release Management Values

COMMIT TO FIX:
tiger

FIXED IN:
tiger

INTEGRATED IN:
tiger
tiger-b19


                                     
2004-06-14
EVALUATION

Yes, when an internal frame is selected it's removed from and then readded.
This causes more problems than mentioned.  This is also the cause for bug
4398733.  I'm hoping to tackle this problem in tiger since it's a little late
for merlin right now.
joutwate@eng 2001-05-14

Now using the new Container.setComponentZOrder() call to move layers.
###@###.### 2003-08-18
                                     
2001-05-14
SUGGESTED FIX

Add some scruffy way to access the Component[] in Container.  If we could get raw access to that then we could do whatever we want.

Could we do something REALLY scruffy with reflection????  I think we could.

steve.wilson@eng 1999-07-22

Actually, Hans (sane person that he is) pointed out we should more likely add a method to container that looks like this:

public void changeZorder(Component c, int newPosition)

This method could do all required shuffling.  Actually, the trick is, if this were public the function would likely want to futz with the Layout and painting and such.  We want a method to change the Z order, but not do any of that so we can do custom stuff.  Hmmmm.  More thought required.
steve.wilson@eng 1999-07-22
                                     
1999-07-22



Hardware and Software, Engineered to Work Together