This week's book giveaway is in the Clojure forum.
We're giving away four copies of Clojure in Action and have Amit Rathore and Francis Avila on-line!
See this thread for details.
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Why I cannot undo this??

 
Michelle Wang
Ranch Hand
Posts: 87
  • 0
  • 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
  • 0
  • 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
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks so much, very good code.
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic