Usar design patterns legal, mas neste caso o que eu recomendaria mesmo o "design
patter if" :-) ou um setEnabled(false) no boto pois usando um singleton estariamos
dando acesso a janela para qualquer outra classe e provavelmente isto no o
desejado.
A soluo "if" j foi exemplificada pelo Jason em email anteriror. Para solucionar
este problema usando o setEnabled() faa o sequinte:
no ActionListener do boto:
public void actionPerformed(ActionEvent e) {
if (e.getSource() instanceof JButton) {
final JButton b = e.getSource();
b.setEnabled(false);
JFrame frame = //cria sua janela
frame.addWindowListener(
new WindowAdapter() {
public void windowClosed(WindowEvent e) {
b.setEnabled(true);
}
}
);
frame.show();
}
Inteh,
Leonardo.
Leonardo Souza Mario Bueno
itera Informtica
Voice, Wireless Web Solutions
[EMAIL PROTECTED]
Phone: 55 27 337 0317
Cell: 55 27 9971 1375
Visit our NEW website at:
http://www.itera.com.br
- Original Message -
From: "Jorge Martins" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, April 03, 2001 12:33 PM
Subject: RE: [java-list] Ajuda !!
Alexandre,
Uma soluo bem bacana seria aplicar o Design Pattern Singleton nesta janela
destino. Ele funciona assim:
- criar uma instncia static da prpria classe
- colocar o contrutor com nvel de proteo private
- gerar um mtodo getInstance() para retornar a instncia nica
class Singleton
{
static private Singleton instance;
private Singleton()
{
// aqui voc poderia apresentar a janela.
}
static synchronized Singleton getInstance()
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
sacou?
Voc pode ainda colocar o procedimento de apresentar a janela no construtor
ou separ-lo em um mtodo a parte (Exemplo: show())
Para utilizar o objeto nico desta classe basta utilizar algo do tipo:
Singleton.getInstance().show();
abraos
Jorge
-Original Message-
From: Alexandre de Almeida Nahas [mailto:[EMAIL PROTECTED]]
Sent: tera-feira, 3 de abril de 2001 11:01
To: [EMAIL PROTECTED]
Subject: [java-list] Ajuda !!
Ol , estou com o seguinte problema:
tenho uma aplicao JAVA e nela existe um boto que possibilita a abertura
de uma outra janela , mas quando dou vrios clicks nesse boto ele me abre
vrias janelas, como posso corrigir isso, para ele abrir apenas uma janela .
OBS : Devo habilitar o boto logo aps a sada dessa janela.
Obrigado
-- LISTA SOUJAVA
http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP
dvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-
-- LISTA SOUJAVA
http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP
dvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-