Pessoal, alguém sabe uma forma simples de salvar o estado de um aplicativo swing? Tenho um programa que apresenta várias barras de ferramentas, as pessoas poderão personalizar de acordo com a vontade delas, são jcomboboxes que estarão selecionadas ou não, e ao iniciar o programa o estado será carregado.
eu nunca fiz algo do tipo, mas eu estou pensando se teria como fazer isso escrevendo em um arquivo externo e então lendo-o quando eu entrar novamente no programa. Estou tentando desenvolver aqui, mas se alguém tiver um exemplo ou algum lugar para indicar para estudo eu agradeço. Já vi o exemplo do javafree, mas não entendi nada de lá. ^^
Não entendi,de que estado vc está falando?Estado de SP,por ex? :oops:
ganondorfan
Serialize seus objetos personalizáveis.
Pense nisso como guardar um objeto java em arquivo para posterior resgate.
A
andre.froes
Anime, seria deixar os objetos no estado em que estão, exemplo:
tenho um menu que contém submenus de seleção, que no caso são JComboBox. Se uma JComboBox estava selecionada ao “desligar” o programa, então ao iniciar novamente o programa, ela deverá estar marcada, caso contrário, faça o mesmo, salve o estado dos itens.
ganondorfan, não entendi, como assim serializar? Estou ainda aprendendo os conceitos mas não sei o de serialização.
Anime, seria deixar os objetos no estado em que estão, exemplo:
tenho um menu que contém submenus de seleção, que no caso são JComboBox. Se uma JComboBox estava selecionada ao “desligar” o programa, então ao iniciar novamente o programa, ela deverá estar marcada, caso contrário, faça o mesmo, salve o estado dos itens.
ganondorfan, não entendi, como assim serializar? Estou ainda aprendendo os conceitos mas não sei o de serialização.
Serializar é salvar os atributos de um objeto em arquivo, para isso basta implementar a interface Serializable, funciona tipo um savestate, se você tiver poucos objetos os quais deseja guardar o estado isso pode ser uma boa alternativa.
Anime
Não sei se é isso que vc quer…
Vc tem um JComboBox,então deve declarar uma variavel de controle:
Vc tem um JComboBox,então deve declarar uma variavel de controle:
intinicia_combo=0;privatevoidcb_pesquisaActionPerformed(java.awt.event.ActionEventevt){if(inicia_combo==1){try{//Não é uma boa idéia acessar uma conexão de BD num controlador Swing (procure no Google por MVC).conecta_cidade.resultset.first();//onde esse resultset é fechado?Stringigual="n";inttamanho_pesquisa=tf_pesquisar.getText().length();while(igual=="n")//Evite fazer comparações entre String usando "==", prefira equals(){if(conecta_cidade.resultset.getString("nome").equals(cb_pesquisa.getSelectedItem())){igual="s";}elseconecta_cidade.resultset.next();}tf_codcid.setText(conecta_cidade.resultset.getString("codigo"));mostrar_dados();}catch(Exceptionerro){JOptionPane.showMessageDialog(null,"Não conseguiu localizar ");}}inicia_combo=1;}
Espero ter ajudado…
Anime, coloquei algumas considerações no seu código, OK?