Boa Dia pessoal da GUJ xD
Bem eu estava outro dia usando uma lista de JRadioButtonMenuItem
private ArrayList<javax.swing.JRadioButtonMenuItem> BB = new ArrayList<JRadioButtonMenuItem>();
tranquilo ele funciona perfeitamente mas o que eu gostaria de fazer e de armazenar esta lista em um bloco de notas para depois recuperar ela
Eu sei criar um arquivo e gravar nele mas a gravação e só uma String, e o meu objetivo e gravar o objeto “BB” não cada botão da lista ou cada String que ela contenha
(Por isso um loop for não funcionaria)
a minha pergunta e simples,
É possível ?
Se é possível como faz?
Obrigado
Att
Victor Gerin
Boa tarde, Victor.
Sim é possível! Eu criei um simples código de exemplo para você entender como é o funcionamento.
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JRadioButtonMenuItem;
public class Salva {
private static List<JRadioButtonMenuItem> list = new ArrayList<JRadioButtonMenuItem>();
private static JRadioButtonMenuItem buttonMenuItem,buttonMenuItem2;
public static void testaGravacao(List<JRadioButtonMenuItem> l){
ObjectOutputStream objectOutputStream = null;
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream("c:\\teste.ser"); // instância o FileOutputStream
objectOutputStream = new ObjectOutputStream(fileOutputStream);// instância o ObjectOutputStram
objectOutputStream.writeObject(l);//Grava a lista
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static List<JRadioButtonMenuItem> testaLeitura(String caminho){
ObjectInputStream inputStream = null;
FileInputStream fileInputStream = null;
List<JRadioButtonMenuItem> newList = null;
try {
fileInputStream = new FileInputStream(caminho); //instância o FileInputStream
inputStream = new ObjectInputStream(fileInputStream); //instância o ObjectInputStream
newList = (ArrayList<JRadioButtonMenuItem>)inputStream.readObject(); // Lê o arquivo
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return newList;
}
public static void main(String[] args) {
//Cria 2 JRadioButtonMenuItem e os insere na lista
buttonMenuItem = new JRadioButtonMenuItem();
buttonMenuItem2 = new JRadioButtonMenuItem();
list.add(buttonMenuItem);
list.add(buttonMenuItem2);
//Grava a lista
testaGravacao(list);
//Lê a lista
List<JRadioButtonMenuItem> newList = testaLeitura("c:\\teste.ser");
//Teste
for(JRadioButtonMenuItem b : newList){
System.out.println("JRadioButton");
}
}
}
xD obrigado
Vou da uma lida nele qualquer coisa eu volto a falar mas obrigado mesmo xD
sakei então a solução do meu problema ta aki “objectOutputStream.writeObject(l)”
Putz cara vlw mesmo você me salvou
alem de ter ajuda um poko mais quando deu a parte de leitura também xD
Que isso! hahahaha, estamos sempre dispostos!
Já que está resvolvido, você deve colocar seu tópico como Resolvido!
Qualquer dúvida só perguntar
Pois é realmente está resolvido
e ainda peguei o seu exemplo e fui testa em outras formas e também funcionou
duplamente resolvido xD