No construtor do meu projeto tenho o seguinte código:
initComponents();
setExtendedState(MAXIMIZED_BOTH);
setVisible(true);
dktPhenix = new JDesktopPane();
add(dktPhenix);
A minha intensão é fazer com que o JDesktopPane abra sempre maximizado, junto com o tamanho
da janela, ele acontece as vezes, outras vem em tamanho diferente.
E outra coisa é qdo minimizo um JinternalFrame, o cara simplesmente some!
Seu JDesktopPanel está adicionado no JFrame diretamente?
Qual gerenciador de layout q vc está utilizando no JFrame?
Eu normalmente seto o JFrame para usar o BorderLayout (se você estive fazendo no NetBeans). Caso esteja programando fora do editor visual do NetBeans, o BordeLayout já será o gerenciador padrão do JFrame.
Com o BorderLayout setado, coloco o JDesktopPane no centro do JFrame
Ai ele vai acompanhar o tamanho da janela certinho.
[]´s
D
davidbuzatto
Pelo initComponents parece q vc está usando o NetBeans mesmo. Como falei, sete o layout do JFrame para BorderLayout e ao arrastar o desktopPane, coloque ele no centro. Caso vá p/ outro lugar do JFrame, é só modificar no painel de propriedades que você quer q ele fique no centro.
[]´s
U
UpTheIrons
Ola David,
Não pude responder antes, vou fazer uns testes aqui (com as dicas q falou)
Mas sim, eh no NetBeans, amanha to colado aqui pra resolver isso e te dou um feedback.
Valeu a atenção!
Inteh.
M
Marky.Vasconcelos
Para funcionar… não coloque setLocation no JFrame que esta com JFrame.MAXIMIZED_BOTH e para quando tirar do maximizado ele ficar em um tamanho diferente mude a propriedade MinimunSize
U
UpTheIrons
David,
Funcionou blz, mas teve um probleminha q vou citar no final… e n entendi pq este trecho abaixo funciona somente as vezes.
Até isolei
// dktPhenix.setSize(getSize());
Sobre o probleminha. Eu n consegui fazer com q um JInternalFrame fosse exibido.
ifrmContaEstoque frm = new ifrmContaEstoque();
dktPhenix.add(frm);
frm.setVisible(true);
Mas blz, tô futucando aqui.
Valeu!
U
UpTheIrons
Mark,
Mas n consegui abrir o form de forma maximizada se não desse jeito.
Há uma solução melhor então?
Valeu!
U
UpTheIrons
David,
Um detalhe, não vi na janela de propriedades a propriedade q setasse a localização do InternalFrame,
via código vai, mas lah n encontrei.