Integração de JInternalFrame - Projeto MDI

1. Integração de JInternalFrame - Projeto MDI

Manoel Matias
ManoelMN

(usa Ubuntu)

Enviado em 14/09/2016 - 10:10h

Olá, estou montando uma pequena aplicação e tenho que integrar duas janelas JInternalFrame.
Funciona da seguinte forma, o usuário acessa uma janela através do menu principal e a partir dessa janela, caso deseje inserir mais um registro ele pode clicar no botão INSERIR que na prática deveria abrir uma outra janela JInternalFrame. Eu instanciei a classe principal no botão INSERIR e depois chamei um método public da classe principal para abrir a outra janela, mas a operação não acontece.

Alguém pode me ajudar com isto?

De já, agradeço.


  


2. Cara

Chaybe Lucas
Ch4yb3

(usa Debian)

Enviado em 20/09/2016 - 16:19h

Acho que não entendi bem o que acontece
Mas de toda forma, verifique algumas coisas como..

1. Seu método que cria a tela JInternalFrame está com a função pra exibir a tela e, logo abaixo, o JFrame principal está adicionando seu JInternalFrame

2. Seu JFrame, coloque como static


3. Re: Integração de JInternalFrame - Projeto MDI

Manoel Matias
ManoelMN

(usa Ubuntu)

Enviado em 20/09/2016 - 16:59h

[quote]Ch4yb3 escreveu:

Como eu havia falado dentro da janela JInternalFrame que deveria chamar outra JInternalFrame eu fiz isso abaixo dentro de um botão.

private void btInserirActionPerformed(java.awt.event.ActionEvent evt) {
TPrincipal tpMain = new TPrincipal();
tpMain.acessarInsert();
dispose();
}

A meu ver ele deveria chamar a classe principal, acessar esse método "acessarInsert()" e sair da janela que esta.
Dentro desse método ele simplesmente adiciona ao JDesktopPane uma nova JInternalFrame e exibe ela, ao menos deveria fazer isso. Na classe principal, um JFrame, ela chama normalmente.
Segue código: "dpMain.add(new JICadPessoa()).setVisible(true);"
Mas ao tentar fazer isso de outra JInternalFrame, não foi possível.

Não entendi essa parte que vocẽ falou:
"2. Seu JFrame, coloque como static"


4. Re: Integração de JInternalFrame - Projeto MDI

Chaybe Lucas
Ch4yb3

(usa Debian)

Enviado em 20/09/2016 - 18:38h

ManoelMN escreveu:

[quote]Ch4yb3 escreveu:

Como eu havia falado dentro da janela JInternalFrame que deveria chamar outra JInternalFrame eu fiz isso abaixo dentro de um botão.

private void btInserirActionPerformed(java.awt.event.ActionEvent evt) {
TPrincipal tpMain = new TPrincipal();
tpMain.acessarInsert();
dispose();
}

A meu ver ele deveria chamar a classe principal, acessar esse método "acessarInsert()" e sair da janela que esta.
Dentro desse método ele simplesmente adiciona ao JDesktopPane uma nova JInternalFrame e exibe ela, ao menos deveria fazer isso. Na classe principal, um JFrame, ela chama normalmente.
Segue código: "dpMain.add(new JICadPessoa()).setVisible(true);"
Mas ao tentar fazer isso de outra JInternalFrame, não foi possível.

Não entendi essa parte que vocẽ falou:
"2. Seu JFrame, coloque como static"


Essa segunda parte que eu falei, ignore, confundi
Acho que não entendi bem kk

Pra mim, seu objetivo é algo assim
seuFrame.add(seuInternalFrame1);
seuInternalFrame1.add(seuInternalFrame2);

Entende? Um InternalFrame dentro de outro.

SE seu objetivo for, ao clicar em um botão, abrir outra janela MESMO, então só dê um dispose na primeira JInternalFrame e abra esse segundo JInternalFrame. Se não for problema, pode também apenas limpar os campos da primeira tela e você vai ter uma tela em branco novamente (caso seja o mesmo JInternalFrame)

Espero que dê pra entender.. kk






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts