Dúvida fluxo de visualização das interfaces

Olá pessoal, boa noite.
Seguinte: estou incubido de criar uma aplicação (relativamente “simples”) em uma disciplina da minha graduação, que não é da área de computação, mas de produção. Porém, apesar de só ter visto o java básico e nada de interfaces, o professor deseja que seja algo com uma interface. Após pesquisar um pouco, instalei na minha máquina o plugin Window Builder do eclipse que tem me ajudado bastante, pois crio através da visão do Design e vou até o fonte, entendo e faço as alterações que quero.
Fiz a visão geral de como seria minha aplicação, que seria mais ou menos assim:

O código dessa aplicação ficou assim:

import java.awt.EventQueue;

public class Aplication {

	private JFrame janela;

	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Aplication window = new Aplication();
					window.janela.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application.
	 */
	public Aplication() {
		initialize();
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		janela = new JFrame();
		janela.setBounds(100, 100, 1000, 608);
		janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		janela.setTitle("GESTÃO");
		
		JMenuBar menuHorizontal = new JMenuBar();
		janela.setJMenuBar(menuHorizontal);
		
		JMenu clientesMenu = new JMenu("Clientes");
		menuHorizontal.add(clientesMenu);
		
		JMenuItem cadastroClienteMenuItem = new JMenuItem("Cadastro");
		clientesMenu.add(cadastroClienteMenuItem);
		
		JMenuItem consultaClienteMenuItem = new JMenuItem("Consulta");
		clientesMenu.add(consultaClienteMenuItem);
		
                JMenu produtoMenu = new JMenu("Produto");
		menuHorizontal.add(produtoMenu);
		
		JMenu controleMenu = new JMenu("Controle");
		menuHorizontal.add(controleMenu);
		
		JMenu ajudaMenu = new JMenu("Ajuda");
		menuHorizontal.add(ajudaMenu);
		
		JMenuItem sairMenuItem = new JMenuItem("Sair");
		ajudaMenu.add(sairMenuItem);
		
		JMenu menu = new JMenu("");
		menuHorizontal.add(menu);
		janela.getContentPane().setLayout(null);
		sairMenuItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				janela.setVisible(false);
			}
		});
	}
}

Aí a partir desse ponto fiquei com umas dúvidas:

  1. Como faço para quando clicar no cadastroClienteMenuItem aparecer na parte central um formulário?
  2. E quando clicar em outro item de menu, como faço para esse formulário aparecer e desaparecer novamente?
  3. Tenho de criar um JFrame? Em arquivos separados?

Sei que as dúvidas são muitas galera, mas é que to precisando ter uma noção de como fazer isso…bastaria um exemplo, com campos fictícios mesmo, pq aí eu entenderia e criaria o exemplo da minha aplicação. Já pesquisei em vários locais, mas só encontro o exemplo com um frame e tudo (JButto, JTextField, JLabel) em uma única tela…nunca vi como criar várias telas e setar cada uma para aparecer na parte central da aplicação quando clicar em um botão.

Desde já agradeço bastante uma ajuda.

simulador_java primeiramente vc deva adicionar eventos aos itens em questão, para isso utiliza addActionListener();

Para cada formulário vc pode criar uma classe estendida de uma JInternalFrame, dai é só adicionar ao JFrame principal.

Vc pode controlar a exibição através de métodos para estes fins.

Pessoal, tenho um jinternalframe num jdesktoppane, minha dúvida é a seguinte, como eu faço p abrir ele maximizado, porém VERTICALMENTE apenas?