Orientaçao a Objectos

7 respostas
G

Ai Galera,

Estou com um problema que não estou conseguindo resolver.
Tenho um JFrame com uma textarea, e tenho mais 3 JFrames que sao formularios.
Eu quero imprimir na textarea uma especie de Log, eu ate tenho uma classe que o windsofhell me arranjou.
O problema é que eu quero imprimir smp na mesma text area, a partir de qualquer uma das outras JFrames.
As outras JFrames são: Exportar, Editar, e Listar

Género:
Se eu exportar quero que escreva na caixa de texto “Ficheiro Exportado com Sucesso”.
Dps Edito e quero que escreva na caixa de texto “Dados Editados”.
Dps eu Listo e eu quero q escreva “Dados Listados”.

Resultado final:
Ficheiro Exportado com Sucesso
Dados Editados
Dados Listados

Ja agora gostaria de saber também como é q eu posso se é q posso, converter void em String.
Isto porque eu estou a utilizar a framework Log4J, e qdo faço logger.info(msg) ou logger.warn(msg)ou outros metodos (debug, error,fatal) , isso me devolve um void.
E eu quero jogar esse log na caixa de texto. Logo tem de ser String.

Será que alguém me pode ajudar?

Atentamente
Graveyard

7 Respostas

Zeed01

Boa tarde colegas !

Eu sou doido para falar bobagens… então se essa for mais uma desconsidere !

Mas eu acho que void significa que o método não retorna nada, enão acho que não da para transformar nada em String.

A minha sugestão criar um método que te retorne a String e chame esses outros métodos que retornam void.

[]s

baudamix

Brother… void é void e não retorna nada… se vc está usando um API tem que trabalhar com o que ela tem para vc.
Se vc quer usar log4j deve procurar um método para te devolve uma String para vc lendo a documentação dele.
Se não tiver e vc precisa de uma String então vc terá q desenvolver um método sozinho como o Zeed01 falou.

G

Ai Fera…

Ok eu sei que void é void, mas podia haver alguma forma de o converter em String, mas já q é assim podem-me vcs dar uma sugestao?
E qto à primeira parte do post, da orientaçao a objectos será que alguem me pode ajudar?

Atentamente
Graveyard

H
Como  foi dito void não tem valor de retorno, mas você pode

fazer a seguinte solução:

Mas quem escreve as mensagens com o Log4J não é você,

então porque você não cria um array de String contendo todas as
suas mensagens, assim você poderá colocar na tela todos os passos
percorridos.

Espero ter contribuido com você.

baudamix

Se eu entendi bem vc precisa criar uma classe que estura um popUp(tipo o alert do javaScript) e precisa de uma frase customisada para chama essa classe onde vc precisa no seu projeto… certo?

ex…

public class Alert { public static void main(String[] args) { Alert.getInstance().getAlerta("ERRO DE USUAIRO!"); } private static Alert alertMsg = null; public static final Alert getInstance() { if( alertMsg == null ) alertMsg = new Alert(); return alertMsg; } static void getAlerta(String string) { JFrame f = new JFrame("Alerta"); f.setSize(400, 150); Container content = f.getContentPane(); content.add( new JLabel(string)); f.setVisible(true); } }

G

Boas ppl,

Eu preciso de uma classe que me permita mostrar os logs no mesmo form(JFrame com text area) em runtime, o problema é q a minha app possui 3 forms diferentes,
e se eu instanciar a classe dos logs em cada um dos forms, vai abrir 3 janelas de logs, e eu quero q mostre tudo em uma(tudo dentro da text area) em vez de abrir 3 janelas de logs(1 para cada form).

//Graveyard

Zeed01

Bom dia colegas !

Não seria o caso de utilizar um Singleton ?

[]s

Criado 22 de abril de 2008
Ultima resposta 23 de abr. de 2008
Respostas 7
Participantes 4