Erro no gui

2 respostas
IsaelCoelho

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);

}

2 Respostas

nandooliveira

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:

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);
	}
}

E no main:

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();
			}
		});
		 
         }
}
drsmachado

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.

Criado 4 de fevereiro de 2011
Ultima resposta 4 de fev. de 2011
Respostas 2
Participantes 3