Como fazer para que o JInternalFrame abra somente uma vez, aqui toda vez que clico ele abre mesmo estando aberto. qual o metodo pra vericar se ele está aberto antes de exibir ?
JInternalFrame
I
4 Respostas
A
Você pode fazer de duas formas. Ou usar o pattern Singleton ou guardar a sua instância numa variável no frame principal e apenas mostrá-la novamente quando for chamado.
Abraço,
Armando
Você pode colocar em um laço como abaixo:
if(JInternalFrame == null || JInternalFrame.isVisible() == false){
JInternalFrame = new JInternalFrame();
jdpDesktop.add(JInternalFrame);
JInternalFrame.setVisible();
}
Espero ter ajudado
G
Na minha concepção singleton eh melhor, pois acho q da para fazer um tratamento bem bacana
Exemplo:
public class Teste extends JInternalFrame
{
private static Teste instance = null;
private Testes()
{
setTitle("Teste");
setSize(100,100);
setVisible(true);
}
public static JInternalFrame getInstance()
{
if (instance == null)
instance = new Teste();
else
{
try
{
instance.setSelected(true);
}
catch (PropertyVetoException e) { }
}
return instance;
}
}
Dai qdo vc for chamar a classe em vez de:
chame:
Criado 28 de março de 2006
Ultima resposta 23 de ago. de 2006
Respostas 4
Participantes 4