gente mais uma ajudo por favor
não estou conseguindo fazer uma outra gui JFrame sem o metodo main pois quero chama-lo pelo metodo principal atravéz de um evento.
package Novagui;
import javax.swing.JFrame;
java.awt.*;
public class Cadastro {
final JFrame frame1 = new JFrame("Cadastro");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setSize(300,300);
}
Esse trecho:
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setVisible(true);
frame1.setSize(300,300);
Deve ficar dentro de um método. E no evento você chama o método.
Por exemplo:
[code]import javax.swing.JFrame;
public class Cadastro {
final JFrame frame1 = new JFrame(“Cadastro”);
public void montaFrame1(){
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setVisible(true);
frame1.setSize(300,300);
}
}
[/code]
E no main:
[code]public class TestaCadastro {
public static void main (String[] args){
JButton botao = new JButton(“abrir frame1”);
JFrame frame = new JFrame("Principal");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200,200);
frame.add(botao);
frame.setVisible(true);
botao.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
Cadastro cadastro = new Cadastro();
cadastro.montaFrame1();
}
});
}
}[/code]
O mais usual é utilizar a chamada ao construtor.
Nele é possível inserir a chamada a um método que faça as vezes de instanciar e criar a GUI ou mesmo a própria ação.