Prezados boa tarde, aqui estou eu com uma duvida que eu diria ser simples mais eu nao estou conseguindo então pesso a ajuda dos colegas q dominam a linguagem.
preciso pegar o valor de um atributo do tipo Properties que esta na classe principal do projeto, ou seja ao iniciar a aplicação Classe Aplicacao.java eu preencho este atributo com os valores default do sistema , já um item do menu principal chama uma classe na qual eu preciso gravar um arquivo so que o caminho onde o mesmo deve ser salvo esta contido no atributo propriedades sob o nome “diretorioDados”
consultei aqui no grupo e tentei fazer da forma abaixo mais não funcionou
Properties prop = (Properties) Aplicacao.class.getField("propriedades").get(null);
String pasta = prop.getProperty("diretorioDados");
Algumas informações a mais sobre o projeto
projeto java usando o framework OpenSwing
Cara, não use reflections para tarefas triviais como essa. Crie um método getPropriedades() que retorna o objeto do tipo Properties. Qual a dificuldade nisso ?
Prezado eu criei o metodo Get ele tá lá na classe principal agora se o que eu estou fazendo é certo ou errado… de qualquer forma esta ocorrendo um erro então eu mudei o que estava fazendo instanciei a classe, não achei que precisasse fazer isto mais fiz
também não sei se é a forma mais correta de se fazer isto ( instanciar a classe porque pensei que ela estando em execução eu não precisasse e achei a outra forma mais correta )
Prezado eu criei o metodo Get ele tá lá na classe principal agora se o que eu estou fazendo é certo ou errado… de qualquer forma esta ocorrendo um erro então eu mudei o que estava fazendo instanciei a classe, não achei que precisasse fazer isto mais fiz
também não sei se é a forma mais correta de se fazer isto ( instanciar a classe porque pensei que ela estando em execução eu não precisasse e achei a outra forma mais correta )
[/quote]
Essa forma que você postou é a mais correta, agora, se isso não está funcionando, o problema é a sua classe Aplicacao.
Cara achei interessante este metodo, até pensei em algo assim mais não prossegui porque a classe principal assim que o sistema entra em execução um metodo já abre o arquivo .ini e obtem as informações, então estas informações já estam disponiveis so que
nos atributos da classe Aplicacao.
Então Daniel o meu problema … primeiro na verdade era saber como fazer em Java
eu nao pretendia abrir o arquivo isto porque ja sabia qua a informação estava no atributo da classe então
seria repetitivo abrir o arquivo ( coisa que a classe aplicacao já fez instantes atras ) então pensei…
"devo pegar do atributo da classe " tive os problemas de como fazer isto e terminei por instanciar a classe
aplicacao.
na verdade ainda penso que instanciar a classe aplicacao foi a forma correta? ela já nao esta em execução?
porque ela na verdade é a classe principal abri o menu etc…
mais o seu metodo na verdade é o meu metodo LoadConfiguracao() que eu uso na classe aplicacao no momento
em que executo
posta o seu codigo que fica mais facil de entender… mas pelo que eu entendi vc nao quer carregar mais de uma vez o arquivo de propriedades pq vc ja carregou antes…
a diferenca e que como o arquivo importacaoProperties é estatico… na proxima vez que vc chamar o método getImportacaoProperties() ele nao vai carregar novamente… só vai retornar o proprio importacaoProperties …