File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Swing / AWT / SWT and the fly likes Why I cannot undo this?? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Why I cannot undo this??" Watch "Why I cannot undo this??" New topic

Why I cannot undo this??

Michelle Wang
Ranch Hand

Joined: Apr 17, 2007
Posts: 87
Dear Friends:
I have a project that has following requirements,

When I click the "Group" button, I can add a JPanel to the current component,when I keep clicking the "Group" button, I can add a series of JPanels to the current component layer by layer, for example, after I click "group" button 5 time, "Label 1" has 5 layers of JPanels totally, It looks good to me,
but I need to undo what I did before, so When I click "ungroup" button, I hope to take off each JPanel by each clicking, If I keep clicking "ungroup" button 5 times, I hope to have only ONE "Label 1" dispaly in the Main Panel.

So far My situation is that I can only take off last layer of JPanel, and I cannot go ahead to the inner most part, ie "Label 1".

I know it is a Do-and-Undo problem, but I am not sure I am on the right track or not, please advice how to solve this??

Craig Wood
Ranch Hand

Joined: Jan 14, 2004
Posts: 1535
The containment hierarchy has all the information we need for this. You can use methods in
the Container class api to traverse this hierarchy, locate components and add/remove as
desired. The SwingUtilities class api has handy methods for converting Points and Rectangles
between the coordinate systems of different components.
Here's an example of one way to do this. When the "Group" radiobutton is selected clicking
on any label with the mouse will add a new, outer parent to the label. Likewise, when the
"Ungroup" radiobutton is selected the outer-most parent is removed with each mouse click on
a label. Dragging of labels will work when the "No Action" radiobutton is selected.
Michelle Wang
Ranch Hand

Joined: Apr 17, 2007
Posts: 87
Thanks so much, very good code.
I agree. Here's the link:
subject: Why I cannot undo this??
It's not a secret anymore!