Duvida com JOptionPane

1 resposta
J

Olá pessoal,

Eu to usando um JOptionPane em uma classe que não é a do formulario…

e eu precisava dizer para essse JOptionPane à qual formulario ele pertence…

no momento eu to usando o seguinte código:

JOptionPane.showMessageDialog(null, "Livro inserido com sucesso!", "Sucesso!", JOptionPane.INFORMATION_MESSAGE);

se , eu estivesse usando esse código em uma classe que fosse um formulario, eu faria assim:

JOptionPane.showMessageDialog(this, "Livro inserido com sucesso!", "Sucesso!", JOptionPane.INFORMATION_MESSAGE);

ou seja, usaria o THIS, para indicar q esse JOptinPage, é deste formulario …
mas e se eu estiver usando esse código em uma classe que não extende do JFrame ?
que parametro eu vou passar para o showMessageDialog , para dizer o formulario ao qual pertence minha caixa de alerta?

gente, eu explico mal pacas rsrsrs …

mas acho q do monte de exmplo eu dei … algum deles deve dar pra entender rsrs

VALEW

1 Resposta

smkk

Olá lavando,

entendo o que está acontecendo, mas a resposta é bem simples,

se você está tentando utilizar um JOptionPane fora de sua classe de formulário, está quebrando camadas, entendeu?

as chamadas para classes de visão devem ocorrer somente na camada de visão, ou seja, em uma classe de negócio ou persistência não deveria haver a necessidade de se chamar um JOptionPane, mas sim retornar uma mensagem para que a camada de apresentação (seu formulário) trate dessa mensagem e a coloque em um JOptionPane, por exemplo.

solução: verifique o método que o formulário chama até esta classe que necessita do JOptionPane, e faça com que a mensagem chegue até o formulário através dos retornos dos métodos, para que a classe do formulário a adicione do modo correto, com o THIS.

edit: apenas como observação, se não está utilizando MVC, esta regra serve também para suas classes de apresentação, faça com que elas retornem as mensagens para que seu formulário trate da maneira correta, nunca torne-as dependentes de seu framework de apresentação (no caso, SWING).

Criado 13 de janeiro de 2008
Ultima resposta 13 de jan. de 2008
Respostas 1
Participantes 2