Guardar definições Swing

2 respostas
L

Boas pessoal,

tenho uma app swing que distribuo para os clientes dentro da empresa. Esta app tem algumas fucionalidades de Cor de fundo, Dimensão da JFrame, apresentação de Menus, que podem ser configuradas pelo utilizador. Ate ai tudo bem… so que quando a app é fechada tudo volta ao padrão original da app.

O que eu gostaria de fazer, era criar um mecanismo que guardasse as alterações de preferencia do usuário. quero começar com algo simples, por exemplo, a cor do funco do JFrame, que inicialmente esta com a cor branca. Como faço para gravar a preferencia da cor para que mesmo que a app seja fechada seja possivel abrir com a ultima cor selecionada pelo usuario.

Imaginei criar um ficheiro que funcione com a app, que iria alimentar definições que fossem susceptiveis de alteração, mas ainda nao sei como fazer isso .

Alguem me pode dar uma ajuda em como fazer isso ?

Obrigado desde ja !!

2 Respostas

Marky.Vasconcelos

Crie um arquivo .properties grave a informação do modo que voce quer e leia qunado abrir novamente.

Algo assim

preferences.properties

background.color=100,152,100

Na aplicação leia essa String use o split(",") e cada numero representa um inteiro para criar a color com o RGB

//Voce carrega os mapeamentos com o load(File)
String color = props.get("background.color");
String[] split = color.split(",");
Color cor = new Color(Integer.parseInt(split[0]),Integer.parseInt(split[1]),Integer.parseInt(split[2]));

Um tutorial sobre Properties
http://www.guj.com.br/java.tutorial.artigo.35.1.guj

sergiotaborda

Usar um ficheiro é uma opção, mas acho que o ideal é usar a Preferences API (http://java.sun.com/j2se/1.4.2/docs/guide/lang/preferences.html)

No windows é usado o registry para guardar as opções por usuário. No linux existem outas implementações usando xml, se não me engano.

Na realidade vc deveria definir um classe que acessa as propriedades e criar um implementação independente que pudesse usar diversas estratégias ( XML, Properties, Preferences API) comece por implementar a que achar mais simples e se ela não atender crie outra.

Criado 13 de abril de 2008
Ultima resposta 13 de abr. de 2008
Respostas 2
Participantes 3