[RESOLVIDO]Como criar + de um Frame

Olá Galera, sou iniciante Java, e estou com uma dúvida:
Tenho um programa onde tenho um Frame, quero criar mais um, ai que vem a dúcida, preciso criar outra classe, ou dá criar outro 2 Frames na mesma classe…Sei que a pergunta parece besta, mas é uma dúvida

Olá galera, estou com uma dúvida referente a JFrames
Vou fazer um programa com uma tela inicial e 3 botões, quando o usuário clicar em um botão quero que apareça outro Frame, minha dúvida é, eu tenho que criar uma classe para cada Frame dos botões!?

Se puderem me ajudar fico Grato

:smiley:

[code]import javax.swing.;
import java.awt.
;
import java.awt.event.*;

public class Telas extends JFrame implements ActionListener
{

public Telas(){
	
	JButton b1 = new JButton("Cadastrar");
	JButton b2 = new JButton("Consultar");
	
	
	setTitle("Cadastro Hóspede");//Título da tela
	setSize(1025,600);//Tamanho da tela  (Largura / Comprimento)
	setResizable(false);//Não pode redimensionar
	getContentPane().setBackground(new Color(0,0,0));//Cor de fundo
	getContentPane().setLayout(null);//Sem Gerenciador de Layout
	b1.setBounds(470, 285, 90, 30);//(x, y, largura, altura)
	b2.setBounds(470, 325, 90, 30);
	getContentPane().add(b1);
	getContentPane().add(b2);
	
}

public static void main(String []args){
	
	JFrame Janela = new Telas();
	Janela.setVisible(true);
}[/code]

O programa esta assim porque estou começando a implementa-lo, mas fiquei com essa dúvida ai

Olá Furyeyes :smiley:

O ideal é criar cada JFrame em classes separadas, porém, nada impede de você criar múltiplos JFrames em uma única classe, assim:

[code]public class Telas extends JFrame implements ActionListener {

private JFrame tela1 = new JFrame(“Tela 1”);
private JFrame tela2 = new JFrame(“Tela 1”);
private JFrame tela3 = new JFrame(“Tela 1”);

}[/code]

Para utilizar o JFrame estendido use super e para os demais seus respectivos nomes tela1, tela2, tela3…

:thumbup:

Entendi, mas me ajuda mais um pouco rs…
Estou implementando mas esta dando erro, só analiza ai o código e me diz oque estou errando por favor
:wink:

[code]import javax.swing.;
import java.awt.
;
import java.awt.event.*;

public class Telas //implements ActionListener
{
private JFrame telaCliente = new JFrame(“CadastroCliente”);
private JFrame telaFunc = new JFrame(“Funcionário”);
private JFrame telaFornec = new JFrame(“Fornecedores”);
private JFrame telaHome = new JFrame(“The Julia’s Hotel”);

	JButton b1 = new JButton("Hospedagem");
	JButton b2 = new JButton("Funcionários");
	JButton b3 = new JButton("Fornecedores");	
	
	telaHome.setSize(1025,600);//Tamanho da tela  (Largura / Comprimento)
	telaHome.setResizable(false);//Não pode redimensionar
	telaHome.getContentPane().setBackground(new Color(0,0,0));//Cor de fundo
	telaHome.getContentPane().setLayout(null);//Sem Gerenciador de Layout
	b1.setBounds(470, 285, 90, 30);//(x, y, largura, altura)
	b2.setBounds(470, 325, 90, 30);
	telaHome.getContentPane().add(b1);
	telaHome.getContentPane().add(b2);
	

 

public static void main(String []args){
	
	
	telaHome.setVisible(true);
}

}
[/code]

Valeuuuu

Post o erro, fica mais fácil para visualizar.

Putz acontece o seguinte, eu criei os Frames na mesma classe como você mostrou, mas como faço para mostrar só o Frame “telaHome”, e ai consequentemente eu vou criar os eventos para os botões acessarem os outro Frames…
Tô fazendo mó lambança

Aqui eu crio os Frames

public class Telas extends JFrame //implements ActionListener { private JFrame telaCliente = new JFrame("CadastroCliente"); private JFrame telaFunc = new JFrame("Funcionário"); private JFrame telaFornec = new JFrame("Fornecedores"); private JFrame telaHome = new JFrame("The Julia's Hotel");

Aqui eu inicializo o Frame telaHome, acho que é aqui que estou pecando:

public void telaHome(){ telaHome.setSize(1025,600);//Tamanho da tela (Largura / Comprimento) telaHome.setResizable(false);//Não pode redimensionar telaHome.getContentPane().setBackground(new Color(0,0,0));//Cor de fundo telaHome.getContentPane().setLayout(null);//Sem Gerenciador de Layout b1.setBounds(470, 285, 90, 30);//(x, y, largura, altura) b2.setBounds(470, 325, 90, 30); telaHome.getContentPane().add(b1); telaHome.getContentPane().add(b2); }

E por fim tento chamar o Frame telaHome, mas aparece um outro Frame default

public static void main(String []args){ Telas Janela = new Telas(); Janela.telaHome(); Janela.setVisible(true); }

Sei que estou fazendo cagada, mas estou aqui para aprender… :smiley:
Valeu

Bom, na verdade está uma lambança mesmo, e vai piorar um pouco mais, você terá que chamar telaHome.setVisible(true); na própria classe Telas e as demais nesta mesma classe nos eventos dos botões e ainda tirá o extends JFrame da classe.

Você não gostaria de voltar atrás (esqueça aquilo que eu te encorajei de criar tudo em uma classe) e criar uma classe para cada JFrame, ficará muito melhor e você ainda estará aprendendo da maneira certa, aproveite enquanto dar tempo.

[b] È isso mesmo que irei fazer, obrigado, e valeu a atenção!!!
Mais dúvidas estarei postando aqui…

Falow…[/b][size=18] [/size]

:smiley:

Ok :smiley: