programei meus JInternalFrame para serem instanciado somente uma vez, pesquisei sobre traze-los para frente da tela quando tiver mais de um aberto e só encontrei MoveToFront, mas não esta funcionando.
public void comandoInternal(JInternalFrame frame){
for(JInternalFrame internal: jDesktopPane2.getAllFrames()){
if (internal.getClass().toString().equalsIgnoreCase(frame.getClass().toString())) {
return;
}
}
jDesktopPane2.add(frame);
frame.setVisible(true);
try {
frame.setSelected(true);
frame.setMaximizable(true);
frame.setMaximum(true);
} catch (java.beans.PropertyVetoException e) {}
}
se alguém souber, agradeço.
Amigo, o JInternalFrame já deve abrir sobre o JFrame assim que utilizado o setVisible(true).
Veja este exemplo.
opa fera, ja fiz dessa maneira.
por exemplo chamo uma janela, dai chamo outra, isso tudo em full screen, dai clico no botao da primeira e ela nao vem para frente.
Acho que entendi a sua dúvida.
Este frame já está instanciado(e aberto) porém, como tela secundária e você tenta chamá-lo novamente para que sobreponha a tela atual?
Neste caso como você mesmo já mencionou o correto é utillizar frmCadastrar.moveToFront(); caso o JInternal não esteja nulo.
Esta codificação tem que funcionar.
Aqui um exemplo:
Se vc quer abrir o mesmo frame, por que está dando new toda vez? Grave o internalframe criado numa variável de classe: if (frmCadastrar == null) { FrmCadastrar frmCadastrar = new FrmCadastrar(); frmCadastrar.setTelaConsulta(this,true); this.getDesktopPane.add(frmCadastrar); frmCadastrar.setVisible(true); }else{ frmCadastrar.moveToFront(); }
Verifique se a instância deste frame que você quer jogar para frente está vindo instanciada ao chamar a segunda vez.
eu uso esse código e funciona.
JuridicoFrame juriFrame = new JuridicoFrame(this);
juriFrame.setVisible(true);
this.getDesktopPane().add(juriFrame);
juriFrame.toFront();
As telas do seu sistema ficou bonitas e agradeveis heim… vc desenvolve sozinho ??
sim sempre foi sozinho usando o velho Swing.
Igual a mim… ainda utilizo o Swing, e sou iniciante com java, mais já estudo e desenvolvo com JAVA a 01 ano, já tenho um bom conhecimento da linguagem.
cara um ano já é uma boa bagagem, estou atualmente estudando java para web, tentando sair do swing aos poucos.
Sim… tbm estou fazendo um curso de Java EE, e aprofundando mais em Web.