Creating a GUI with multiple panels and one frame

2020-06-27 09:11发布

问题:

I am trying to create a simple GUI. I have a menu bar that is filled with various JMenuItems. Each menu item should link to a different "window". Currently, I am thinking the best way to do this is to create a single frame, and create various JPanels. My ActionListeners will toggle visibility of the different panels, and only one panel should be visible at a time. Is this the best way to go about the task? Or is there a better workaround.

回答1:

Yes, the best way is to use a CardLayout of which there's a great tutorial (please see the link), and many examples online including in this very forum, several of which I've written, including:

  • Java CardLayout Main Menu Problem
  • Change size of JPanel using CardLayout
  • Java CardLayout JPanel moves up, when second JPanel added
  • Java swing; How to toggle panel's visibility?
  • Clear components of JFrame and add new componets on the same JFrame
  • gui multiple frames switch
  • JLabel displaying countdown, java


回答2:

JTabbedPane is already implemented for you!
JTabbedPane's tutorial.