Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Why I cannot undo this??

 
Michelle Wang
Ranch Hand
Posts: 87
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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??
Thanks

 
Craig Wood
Ranch Hand
Posts: 1535
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 87
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks so much, very good code.
 
Don't get me started about those stupid light bulbs.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic