Java Swing Mudando janela

E ai galera?

Meu problema é o seguinte, estou desenvolvendo um sistema (meu primeiro sozinho) e tenho problemas em trocas de janelas, por exemplo, em determinada janela(janela x) há um botão Alterar que tem por Action Performed a abertura de uma nova janela(janela y), Como faço para que quando o botão Alterar for pressionado na janela x e a janela y aparecer, a janela x desapareça?

bom, vc usara o método dispose(), para matar a janela. Então vc pode tentar varias coisas, como instanciar a janela Y e destruir a X no próprio action performed, ou passar a janela X como parametro para a Action/Janela Y, e dar um dispose() de lá.

Bom para dar uma dica mais consistence seria necessário entender como estás estruturando essas trocas de janela!

Flw!

É exatamente essa a idéia, por exemplo o código do botão alterar é o seguinte

private void btAlterarActionPerformed(java.awt.event.ActionEvent evt) {
        
        AlteraProdutos altprd = new AlteraProdutos();
        altprd.setVisible(true);
        altprd.setLocation(300,300);
        altprd.setResizable(false);
        
}

Onde e como eu posso usar o método dispose(); : obs: a janela atual é um frame chamado Produtos.

Se vc esta implementando o ActionEvent na classe Produtos…

[code] private void btAlterarActionPerformed(java.awt.event.ActionEvent evt) {

     dispose(); //Acho eu que aqui ja funcionaria
     AlteraProdutos altprd = new AlteraProdutos();  
     altprd.setVisible(true);  
     altprd.setLocation(300,300);  
     altprd.setResizable(false);  

} [/code]

Testei aqui por cima num código meu e deveria funcionar.

Perfeito kara…

eu tava viajando aki como se eu não tivesse dentro de ‘Produto’.

Erro de principiante… nessa eu não caio mais… vlw msm

isso funciona pra esse caso?

tenho um frame com uma JMenuBar e quero mudar de panel cada vez q item de menu eh acessado… posso usar isso? se alguem tiver outra solção estou um tempo tentando resolver isso e não consigo. meu codigo eh mais ou menos assim.


public class Main extends JFrame {
	private JPanel panel1;
	private JPanel panel2;
	private JPanel panel3;
	private JPanel panel4;
	
	public Main() {
		
		panel1= new JPanel ();	
		panel2= new JPanel ();		
		panel3= new JPanel ();
		panel4= new JPanel ();
		
		this.addWindowListener(new BasicWindowMonitor());
		this.setJMenuBar(montaBarra());  
                                this.setSize(800, 600);
		this.setVisible(true);
	}
	
	public JMenuBar montaBarra() {
		JMenuBar barra = new JMenuBar();
		
		JMenuItem item;
		
		JMenu menu = new JMenu("Painéis");

		menu.add(item = new JMenuItem("Painel 1"));
		item.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//transformar o panel1 visível			
                                                }
		});
		menu.add(item = new JMenuItem("Painel 2"));
		item.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//transformar o panel2 visível
			}
		});
		menu.add(item = new JMenuItem("Painel 3"));
		item.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//transformar o panel3 visível
			}
		});
		menuProduto.addSeparator();

		menu.add(item = new JMenuItem("Painel 4");
		item.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//transformar o panel4 visível
			}
		});		
		barra.add(menuProduto);
		
		return barra;
	}
	
	public static void main(String[] args) {
		Main main = new Main();
	}
}

[quote] isso funciona pra esse caso?
tenho um frame com uma JMenuBar e quero mudar de panel cada vez q item de menu eh acessado… posso usar isso? se alguem tiver outra solção estou um tempo tentando resolver isso e não consigo. meu codigo eh mais ou menos assim. [/quote]
Fera, se entendi o que você precisa isso não vai funcionar para o seu caso, porque é uma implementação para classes propriamente de interface.
O que você está querendo está relacionado aos menuzinhos que se abrem quando clica em um jMenuBar?
Se for, então resolva isso com a implementação dos Menus PopUp’s agregados…
Abra um tópico específico para esse seu problema e descreva-o melhor para a gente poder te ajudar.
Um abraço!

Estou fazendo meu primeiro projeto e precisava justamente utilizar um botão para mudar entre uma janela e outra (tipo aqueles botões Próximo e Voltar que tem em muitos programas Desktop)… E encontrei essa dica valiosa aqui. Funciona que é uma beleza.

Obrigada pessoal! :smiley: