my dog learned polymorphism*
The moose likes Swing / AWT / SWT and the fly likes container's containment Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "container Watch "container New topic
Author

container's containment

krishna prasad gunasekaran
Ranch Hand

Joined: Jul 25, 2006
Posts: 158
I got this statement from sun website. I couldn't understand. could someone explain it,please.

Each GUI component can be contained only once. If a component is already in a container and you try to add it to another container, the component will be removed from the first container and then added to the second.


have a great day,
krishna prasad
Michael Dunn
Ranch Hand

Joined: Jun 09, 2003
Posts: 4632
a specific component can only be in one place at a time.

run this and the button will end up added to the final panel only


now move the creation of the button to inside the loop and it works OK,
because each button (same name) is a separate button
krishna prasad gunasekaran
Ranch Hand

Joined: Jul 25, 2006
Posts: 158
why is this happening to components that are different from each other.
This is my code excerpts.

public static void showFrame()
{
JFrame frame=new JFrame("Swing Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JMenuBar menu=new JMenuBar();
menu.setOpaque(true);
menu.setBackground(new Color(154,165,127));
menu.setPreferredSize(new Dimension(200, 20));

JLabel label=new JLabel();
label.setOpaque(true);
label.setBackground(new Color(248, 213, 131));
label.setPreferredSize(new Dimension(200, 180));

JButton btn = new JButton("OK");
JPanel panel=new JPanel();
panel.setPreferredSize(new Dimension(100,50));
panel.add(btn);


frame.setJMenuBar(menu);
frame.getContentPane().add(label);
frame.getContentPane().add(panel);

frame.pack();
frame.setVisible(true);
}


I have added two different component in the same container, but only the last added component is displayed in the frame. why?
Darrin Cartwright
Ranch Hand

Joined: Dec 27, 2002
Posts: 107
Try changing your code to specify a location:



Life is good on the Ponderosa,<br />but mind where you step.
krishna prasad gunasekaran
Ranch Hand

Joined: Jul 25, 2006
Posts: 158
It works fine when i replaced mine with yours.so it is that we have to specify locations incase of multiple components. what if we are running out of locations.
Michael Dunn
Ranch Hand

Joined: Jun 09, 2003
Posts: 4632
> what if we are running out of locations.

never going to happen.

 
Consider Paul's rocket mass heater.
 
subject: container's containment
 
Similar Threads
Container
Containers
Dialog Class - Need an Example..
addition of components
Component