JFrame whose content changes as we click on the different buttons
cardlayout, java, jframe, swing
Solution
Have a look at `CardLayout`, this would allow to switch the content of your frame:
A CardLayout object is a layout manager for a container. It treats each component in the container as a card. Only one card is visible at a time, and the container acts as a stack of cards. The first component added to a CardLayout object is the visible component when the container is first displayed.
See How to Use CardLayout for an example.
Problem
I am using `Java's Swing` here to make a UI application. I have a created a JFrame, with some buttons. When I click on this button, I want a new JFrame with some different content at this place. However, I do not want a new JFrame to load here. One approach, I know is of setting the visbility of the second JFrame to be True in the `actionPerformed(ActionEvent obj)` method of the button in the first JFrame. But it again loads a new JFrame and I don't want that. ``` public class FirstUI extends JFrame { JButton but1; public FirstUI(){ but1= new JButton("Click here"); add(but1); XYZ obj= new XYZ(): but1.addActionListener(obj); } public class XYZ implements ActionListener{ public void actionPerformed(ActionEvent obj1){ // WHAT TO DO HERE } } } ``` I only want a single JFrame whose content changes as we click on different buttons. How can I achieve that ?