Galera, sou novato no Java e estou com algumas dúvidas.
É o seguinte.
Estou fazendo um projeto, no qual o usuário fazendo o seu login, o sistema irá apontar para uma janela que é o form principal do sistema. Até aí tá funcionando.
Neste form principal, eu criei um JMenu e coloquei os menus, no qual clicando irá aparecer uma outra janela.
Aí minha dúvida é a seguinte:
Quando abre uma janela nova do clique de um item do menu, ele pode minimizar, restaurar independente da janela do form principal.
Então, teria como eu fazer com que os menus que fossem abertos fossem “subordinados” ao form principal?
Para fazer o que vc está querendo, use como painel do seu form principal um JDesktopPane. Aí para criar as janelas subordinadas, vc utiliza a classe JInternalFrame em vez de JFrame.
Como eu sempre deixo a janela principal aberta, crio o painel desktop como estátioco pra nao ter que ficar passando referencias por todo o meu programa. Assim, basta chamar o método adicionarJanelaInterna e passar o frame interno que vc desejar. Qualquer coisa, confira o tutorial da sun. Lá contém mais informações e tb vc pode ver como fica a parte visual.
Obrigado Renzo, entendi o que vc falou e consegui aplicar, porém, ainda resta uma dúvida.
Eu criei uma JFrame e coloquei os menus. Criei também um arquivo separado de JInternalFrame.
No menu que eu criei, coloquei para chamar este JInternalFrame, porém, não aparece quando eu clico. Tentei fazer um teste com um JForm criado sem JInternalFrame e funcionou, ele chama.
O que poderia ser?
bem, depois q vc adicionar o seu JInternalFrame no JDesktopFrame, basta vc dizer que ele fique visivel…
[code]
//reaproveitando o codigo do RENZO
public class JanelaPrincipal extends JFrame {
private static JanelaPrincipal janelaPrincipal=null;
static private JDesktopPane desktop;
Obrigado pela ajuda Berg, mas cara, mesmo assim estou com dúvida.
Estou fazendo meu projeto via NetBeans, e criei um form que é o principal (JDesktopPane) e criei um outro arquivo que seria o internalframe (JInternalFrame).
Neste caso quando eu clico em um menu do Jmenu do form principal ele teria que chamar.
Eu tentei fazer como vc falou chamando o InternalFrame e colocando como visible true, mas ele não aparece.
Vou postar o código de como estava fazendo para chamar:
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
PesquisarImovel p = new PesquisarImovel();
p.setVisible(true);
}
Berg, Valeu cara, consegui fazer, eu estava esquecendo de colocar o addcomponent, agora adicionei ele na minha linha e funcionou.
Obrigado
Vou postar o código caso sirva para alguma pesquisa posterior:
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
PesquisarImovel p = new PesquisarImovel();
jDesktopPane1.add(p);
p.setVisible(true);
}