Problema ao carregar JFrame  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
iatan
Thread.start()

Membro desde: 15/03/2005 18:58:33
Mensagens: 28
Localização: Goiânia - Goiás
Offline

Tô fazendo um programinha que em um determinado momento, o sistema deve abrir outra janela para entrada de dados. Um InternalFrame resolveria o meu problema, mas uma nova janela tipo JDialog ou outro JFrame ficaria mais elegenate.

Eu criei o novo frame separado e quando chamo o novo Frame através do código:

javax.swing.JFrame funcionarios1 = new CadastrodeFuncionarios();
funcionarios1.setVisible(true);


Ele abre DUAS janelas e não somente uma. Alguem temalguma idéia do que pode estar acontecendo e qual a solução????
[Email] [MSN]
brunocosta
Debugger
[Avatar]

Membro desde: 03/04/2005 23:46:57
Mensagens: 70
Offline

dê mais detalhes, poste o código do construtor da classe que c tá criando.. assim por alto fica difícil saber...

Bruno Costa
SCJP 6
SCWCD 5
SCBCD 5

http://brunocosta.com
[Email] [WWW] [MSN]
pauloperes
JavaEvangelist
[Avatar]

Membro desde: 01/03/2005 11:45:20
Mensagens: 414
Offline

Iatan,

Não seria:


Valeu,

Paulo

Paulo
[Email] [MSN]
brunocosta
Debugger
[Avatar]

Membro desde: 03/04/2005 23:46:57
Mensagens: 70
Offline

Mas CadastrodeFuncionarios deve tá herdando de JFrame... então não teria problema o modo q ele usou pra criar... e em muitos casos é até recomentado.. pra o caso de uma implementação de uma classe abstrata.. por exemplo:



=)

Bruno Costa
SCJP 6
SCWCD 5
SCBCD 5

http://brunocosta.com
[Email] [WWW] [MSN]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Você quer dizer que aparecem dois itens na barra de tarefas, certo?
Você tem que usar JDialog.

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
JP®
JavaTeenager
[Avatar]

Membro desde: 01/06/2005 14:49:04
Mensagens: 150
Offline

Ou montar tudo dentro de um JDesktopPane, que no lugar de JFrames, vc usa JInternalFrame.


iatan
Thread.start()

Membro desde: 15/03/2005 18:58:33
Mensagens: 28
Localização: Goiânia - Goiás
Offline

"danieldestro", vc descreveu exatamente o que está acontecendo, mas eu já havia testado usar um JDialog e o efeito foi o mesmo.

"JP® ", realmente o JInternalFrame resolve, mas eu queria implementar algo mais "flexivel", porque o InternalFrame fica restrito ao espaço da minha janela principal e a minha janela principal é muito pequena. Então ficaria mais "bonitinho pro usuário" se eu abrisse uma nova janela de modo que o usuário pudesse arrastar essa nova janela prá qualquer lugar da tela sem ter que redimensionar a tela principal.

Tá tudo saindo certinho inclusive a conexão com o banco e as operações, exceto pelo fato de que ele abre duas janelas. o código é o seguinte:


...
private void cbxOpcoesItemStateChanged(java.awt.event.ItemEvent evt) {
// RETORNA 0, 1, 2, OU 3. RELATIVOS ÀS OPÇÕES SELEC NO MENU
int opcao;
opcao = cbxOpcoes.getSelectedIndex();
if(opcao == 1){ //REGISTRAR PONTO ....
fRegistrarPonto teste = new fRegistrarPonto();
teste.setVisible(true);
}
}
....
[Email] [MSN]
fredferrao
GUJ Master
[Avatar]

Membro desde: 01/06/2005 13:23:32
Mensagens: 1901
Localização: Brasil
Offline

"danieldestro", vc descreveu exatamente o que está acontecendo, mas eu já havia testado usar um JDialog e o efeito foi o mesmo.


no construtor do JDialog vc precisa passar o JFrame "pai" como argumento, ou seja o seu JFrame principal:


Não respondo dúvidas via MP!
JP®
JavaTeenager
[Avatar]

Membro desde: 01/06/2005 14:49:04
Mensagens: 150
Offline

iatan wrote:"danieldestro", vc descreveu exatamente o que está acontecendo, mas eu já havia testado usar um JDialog e o efeito foi o mesmo.

"JP® ", realmente o JInternalFrame resolve, mas eu queria implementar algo mais "flexivel", porque o InternalFrame fica restrito ao espaço da minha janela principal e a minha janela principal é muito pequena. Então ficaria mais "bonitinho pro usuário" se eu abrisse uma nova janela de modo que o usuário pudesse arrastar essa nova janela prá qualquer lugar da tela sem ter que redimensionar a tela principal.

Tá tudo saindo certinho inclusive a conexão com o banco e as operações, exceto pelo fato de que ele abre duas janelas. o código é o seguinte:


...
private void cbxOpcoesItemStateChanged(java.awt.event.ItemEvent evt) {
// RETORNA 0, 1, 2, OU 3. RELATIVOS ÀS OPÇÕES SELEC NO MENU
int opcao;
opcao = cbxOpcoes.getSelectedIndex();
if(opcao == 1){ //REGISTRAR PONTO ....
fRegistrarPonto teste = new fRegistrarPonto();
teste.setVisible(true);
}
}
....


Desse ponto de vista, você tem toda razão. Fica melhor do jeito que você deseja fazer.

 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team