JInternalFrame

4 respostas
I

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 ?

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

NARLEY

Você pode colocar em um laço como abaixo:

if(JInternalFrame == null || JInternalFrame.isVisible() == false){

JInternalFrame = new JInternalFrame();

jdpDesktop.add(JInternalFrame);

JInternalFrame.setVisible();

}
NARLEY

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