Pessoal, já fiz alguns pequenos aplicativos em java para projetos da faculdade e até para serem usados com algumas coisas, porém, eles são todos constituídos de JFrame’s, quando o usuário vai abrindo janelas, elas não se acoplam em uma só, e isso é uma tristeza, sem contar que bagunça qualquer coisa. Eu ví que existe o JInternalFrame e o JDesktopPane, porém não sei como usá-los e também lí em alguns locais que isso não está sendo mais usado devido a uma série de desvatagens que os mesmos trazem consigo, então, resolvi abrir esse tópico.
Alguém pode me dar alguma dica de como/o que fazer?
Não entendí muito bem sua pergunta… você quer dizer que quer fechar uma janela quando quiser abrir outra, é isso? Se for, os frames têm um método chamado dispose(), é só usar…
Caso você queira uma interação mais “direta”, também existe um controlador de layout chamado CardLayout, só usar.
[]´s
G
Gernan
asaudate:
Não entendí muito bem sua pergunta… você quer dizer que quer fechar uma janela quando quiser abrir outra, é isso? Se for, os frames têm um método chamado dispose(), é só usar…
Caso você queira uma interação mais “direta”, também existe um controlador de layout chamado CardLayout, só usar.
[]´s
não, não, é o seguinte
a aplicação tem um JFrame principal, dai quando o usuário vai clicando nos menus, e novos JFrames vão sendo abertos, pra cada JFrame, é criado “sua própria janela”, mas eu queria que todas as janelas ficam centradas só no frame principal, pra tipo assim, na barra do windows só ficaria a janela principal do aplicativo, mesmo com outros frames abertos, e acontece justamente o contrário, pra cada frame, abre uma nova janela na barra do windows.
Alexandre_Saudate
Gernan:
asaudate:
Não entendí muito bem sua pergunta... você quer dizer que quer fechar uma janela quando quiser abrir outra, é isso? Se for, os frames têm um método chamado dispose(), é só usar...
Caso você queira uma interação mais "direta", também existe um controlador de layout chamado CardLayout, só usar.
[]´s
não, não, é o seguinte
a aplicação tem um JFrame principal, dai quando o usuário vai clicando nos menus, e novos JFrames vão sendo abertos, pra cada JFrame, é criado "sua própria janela", mas eu queria que todas as janelas ficam centradas só no frame principal, pra tipo assim, na barra do windows só ficaria a janela principal do aplicativo, mesmo com outros frames abertos, e acontece justamente o contrário, pra cada frame, abre uma nova janela na barra do windows.
Tente assim, então:
JFrame f1 = new JFrame("App") ;
f1.add(new JLabel("teste"));
f1.pack();
f1.setVisible(true);
JDialog dialog = new JDialog(f1);
dialog.add(new JLabel("teste2"));
dialog.pack();
dialog.setVisible(true);
O chato é que o JDialog só minimiza ou maximiza junto com o Frame (ou, pelo menos, eu não achei nada que assim o fizesse). Mas, pelo que eu entendí , não chega a ser um requisito pra você, certo?
[]´s
Marck
Olá!
Dentro do JFrame, coloque um JDesktop. Dentro do JDesktop, coloque JInternalFrame’s.
Todas as suas telas deixaram de ser JFrame’s e viraram JInternal.
Quanto ao futuro do swing, dê uma pesquisada aqui no fórum pois tem várias discussões sobre isso.
abraço!