Como chamar outro JInternalFrame a partir de um JInternalFrame?

Olá meus colegas.

Estou com a dúvida do tópico, fiz um JInternal sendo chamado dentro do meu JFrame principal que contém o JDesktop, porém não consigo chamar mais um JInternal, explico.

Minha aplicaçao tem um JFrame com um menu principal e um JDesktop dentro para que eu utilize como container o JFrame e chame os JInternal dentro dele. Dessa forma ao chamar meu JInternal ele abre bonitinho na tela, porém dentro dele tem mais JButtom que chama um segundo JInternal (uma tela complementar digamos assim) porém eu nao consigo estanciar o objeto JDesktop pois ele é private e está dentro da classe do JFrame.

Como faço pra chamar essa tela auxiliar do meu JInternal?

Por favor me ajudem, estou precisando dessa dica.

Obrigado.

Tentando explicar de forma mais clara

JFrame = Menu Principal e possui um JDesktop para ser usado como container.
JInternal = Uma tela de Cadastro que surge dentro do MenuPrincipal
Quero chamar OUTRO JInternal (não pelo JFrame) mas sim pelo comando do buttom que está no JInteral que havia chamado previamente pelo JFrame

Manda o jdesktopPane pro jinternalFrame por referencia.

Amigo!!! Anexe o Códio aew… para q possamos da uma olhada…acho que sei como resolver seu problema… se n é que ja tenha resolvido… T +!

Olá meus amigos, obrigado pelas resposta e desculpem a minha demora, abaixo segue o meu código:

JFrame contém um menu e o botão chama um JInternalFrame conforme código abaixo:

private void jMenuItemNutrientesActionPerformed(java.awt.event.ActionEvent evt) {
        MenuNutrientes chamarnutrientes = new MenuNutrientes();
        jDesktopPaneMenuPrincipal.add(chamarnutrientes);
        chamarnutrientes.setSize(650,350);
        chamarnutrientes.setVisible(true);
}

O meu problema agora está em chamar um novo JInternal a partir de um botão localizado no JInternal que acabou de ser chamado pelo código acima.

Não funciona porque só tenho um JDesktop no JFrame e não estou instanciando por ele pq o Netbeans setou como private o JDesktop.

Seta como public e instancia :confused:

Não dá, o netbeans travou a variável, eu to usando como o arrastar e colar do netbeans.

Mas eu vou tentar passar o valor por parametro para o construtor do meu JInternal, vamos ver se da certo.

private void jMenuItemNutrientesActionPerformed(java.awt.event.ActionEvent evt) { MenuNutrientes chamarnutrientes = new MenuNutrientes(jDesktopPaneMenuPrincipal); jDesktopPaneMenuPrincipal.add(chamarnutrientes); chamarnutrientes.setSize(650,350); chamarnutrientes.setVisible(true); }
No construtor do MenuNutrientes faz

JDeskTopPane desktop; public MenuNutrientes(JDeskTopPane desktop){ this.desktop = desktop; }
Dai pra abrir o outro JInternalFrame faz como você fez no primeiro.

Valeu maaluco, irei implementar essa noite e coloco a resposta também.

T+

Resolvido

Código utilizado na classe que chama

public MenuClientes(JDesktopPane x) {
        painelx = x;
        initComponents();
        setTitle("Menu Clientes");

.........

 private void jButtonClientePesquisarActionPerformed(java.awt.event.ActionEvent evt) {                                                        
        TelaListaClientes chamarconsultaclientes = new TelaListaClientes(JDesktopPaneMenuPrincipal);
        painelx.add(chamarconsultaclientes);
        chamarconsultaclientes.setSize(650,350);
        chamarconsultaclientes.setVisible(true);

Código utilizado na classe que tem oq quero que chame

   JDesktopPane desktop;
    public TelaListaClientes(JDesktopPane desktop) {
        initComponents();
        this.desktop = desktop;    

Muito obrigado a todos ^^

1 curtida

Cara eu não entendi…
To com o mesmo problema que você mais não consegui entender o que você fez…

EU TENHO UMA CLASSE CHAMADA PRINCIPAL (JFRAME) DELA EU CONSIGO CHAMAR UMA OUTRA CLASSE CHAMADA CADASTRODECOLABORADORES(JINTERNALFRAME) E DENTRO DA TELA CADASTRODECOLABORADORES EXISTE UM BOTÃO QUE CHAMA INCLUSAODECOLABORADORES(JINTERNALFRAME) AI QUE TA O PROBLEMA… NAO CONSIGO ADICIONAR O JINTERNAL FRAME NO JDESKTOP PRINCIPAL A PARTIR DO BOTÃO

Me ajudem pelo amor de Deus…

bem gente eu sei que já faz um tempo que vcs andam postando aki
mas quero saber se alguem conseguiu resolver esse problema ai
de chamar um jinternalframe a partir de um outro jinternalframe
falow

Simples

//crie as duas janelas
JDesktopPane desktop;

public Janela1 window1;
public Janela1Complemento window1Comp;

desktop.setLayer(window1Comp, JDesktopPane.MODAL_LAYER);
desktop.add(window1Comp)
window1 = new Janela1(JInternalFrame window1Comp);
desktop.setLayer(window1, JDesktopPane.MODAL_LAYER);
desktop.add(window1)

Pronto você tem referência para a sua jInternalFrame complementar :wink:

Bom Dia!

Preciso que um JInternalFrame (1) abra outro JInternalFrame (2) para ser exibido no JDesktopPane do JFrame principal… só que quando tento chamar esse JInternalFrame (2) a partir do JInternalFrame (1) o JInternalFrame (2) não aparece!

JInternalFrame (1)

private void btnIrActionPerformed(java.awt.event.ActionEvent evt) { Temp.usuario = (tblTabela.getValueAt(tblTabela.getSelectedRow(), 0).toString()); new AdminView().openAlteraUsuario(); dispose(); }

JFrame (Principal)

public void openAlteraUsuario(){ dskFundo.add(new AlteraUsuarioView()).setVisible(true); }

JInternalFrame (2)

Será que alguém pode me ajudar?
Valeu!

Pode deixar gnt, consegui aqui! lol
Huhu!!!

JInternalFrame (1)

AdminView admin; /** Creates new form PesquisaUsuarioView */ public PesquisaUsuarioView(AdminView a) { this.admin = a; initComponents(); }

private void btnIrActionPerformed(java.awt.event.ActionEvent evt) { Temp.usuario = (tblTabela.getValueAt(tblTabela.getSelectedRow(), 0).toString()); admin.openAlteraUsuario(); dispose(); }

JFrame (principal)

private void mitPesquisarUsuariosActionPerformed(java.awt.event.ActionEvent evt) { PesquisaUsuarioView p = new PesquisaUsuarioView(this); dskFundo.add(p).setVisible(true); }

JInternalFrame (2)