Como faço para fazer uma form chamar o outro?

4 respostas
Jhonn_Costa

Oi pessoal sou novo no mundo java!!
estou querendo saber como se faz para uma form chamar a outra??
ja tenho criado duas forms e queria saber como faz para chamar

4 Respostas

dannaril

Olá amigo, não entendi bem sua pergunta, mas acho que vc está querendo fzer isso…

Public Form1 extends javax.swing.JFrame {
...
...
   Form2 novoForm = new Form2();
   novoForm.setVisible(true);
   novoForm.setLocation(0,0);
   novoForm.pack();
...
}

Talvez seja isso.
até…

Jhonn_Costa

Entao eu duas tela uma de login e a outrs seria para o programa ,
queria saber como fasso para que qdo o usario de ok , chamasse a proxima tela

dannaril

olá jhonn,
criei duas classes bem simples que realizam o que vc está querendo

Classe 1: Gera a tela de login:

import java.awt.event.*;
import javax.swing.*;

public class JfrmLogin extends JFrame {  

    private JButton jb = new JButton("OK");
    private JLabel label = new JLabel("Formulário de Login");
    
    public JfrmLogin() {
        //seta as propriedades do frame
        this.setSize(400,300);
        this.setVisible(true);            
        this.setLayout(new GroupLayout(getContentPane()));
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        
        //adiciona o botão no frame
        this.add(jb);   
        jb.setSize(150,30);
        jb.setLocation(100,150);  
        
        //adiciona o label no frame
        this.add(label);   
        label.setSize(150,30);
        label.setLocation(80,20);  
        
        //cria o action do botão, caso clicar no botão este irá chamar o novo frame
        jb.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                Formulario jf = new Formulario();
            }
        });
    }
    
    public static void main(String[] args){
        new JfrmLogin();
    }    
}

Classe 2: Abre um novo formulário.

import javax.swing.*;

public class Formulario extends JFrame{
    
    private JLabel label = new JLabel("F O R M U L A R I O");
    public Formulario() {
        //seta as propriedades do frame
        this.setSize(300,300);
        this.setVisible(true);            
        this.setLayout(new GroupLayout(getContentPane()));
        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        
        //adiciona o label no frame
        this.add(label);   
        label.setSize(150,30);
        label.setLocation(30,30);  
    }    
}

espero ter ajudado…

Jhonn_Costa

Isso mesmo obrigado!!

Criado 18 de outubro de 2008
Ultima resposta 20 de out. de 2008
Respostas 4
Participantes 2