Salve a tutti =)
ecco il mio problema:
In breve è un fallimento del salvataggio/caricamento di un oggetto creato da me;
Tuttavia il problema si presenta solamente se utilizzo le due funzioni (riportate qui sotto) che mi permettono di aggiungere e visualizzare le Tab al JTabbedPane che ho inserito nel mio pannello
- nello specifico questo problema si presenta a partire dalle righe di comando da me evidenziate in rosso -
Qui sotto posto parte della classe Lista e le sue funzioni “INCRIMINATE”
(che vengono richiamate da un gestore bottoni opportunamente settato)
codice:
public class Lista implements Serializable
{
private static final long serialVersionUID = 1L;
String nomeLista;
String path;
Vector<Categoria> categorie;
Vector<JComponent> catTab;
public Lista()
{
nomeLista=null;
path=null;
categorie=new Vector<Categoria>(0,1);
catTab=new Vector<JComponent>(0,1);
}
<…....ho omesso le varie funzioni funzionanti XD lol.....>
<...le 2 seguenti funzioni, se utilizzate impediscono il salvataggio corretto ...>
(ho evidenziato in rosso il punto in cui nasce il problema)
codice:
public void aggiungiTab(JFrame f,JTabbedPane tp, String nomeTab)
{
JComponent jc = new PanelSfondo(new File("sfondo.jpg"));
jc.setName(nomeTab);
catTab.add(jc);
tp.addTab(nomeTab,null,catTab.elementAt(catTab.size()-1),"Visualizza categoria"+nomeTab);
//aggiungi i bottoni relativi alla categoria
JButton agg=new JButton("Aggiungi Elemento");
JButton del=new JButton("Rimuovi Elemento");
JButton rin=new JButton("Rinomina Elemento");
JButton delCat=new JButton("Elimina Categoria");
jc.add(agg);
jc.add(del);
jc.add(rin);
jc.add(delCat);
agg.addActionListener(new GBC(f,tp));
}
public void refreshTab(JFrame f, JTabbedPane tp)
{
catTab=new Vector<JComponent>(0,1);
tp.removeAll();
for(int i=0;i<categorie.size();i++)
{
System.out.println("Numero Categorie:->"+categorie.size());
System.out.println("Numero Categoria attuale:->"+i);
JComponent jc = new PanelSfondo(new File("sfondo.jpg"));
jc.setName(categorie.elementAt(i).nome());
System.out.println(jc.getName());
catTab.add(jc);
//aggiungi i bottoni relativi alla categoria
JButton agg=new JButton("Aggiungi Elemento");
JButton del=new JButton("Rimuovi Elemento");
JButton rin=new JButton("Rinomina Elemento");
JButton delCat=new JButton("Elimina Categoria");
catTab.elementAt(i).add(agg);
catTab.elementAt(i).add(del);
catTab.elementAt(i).add(rin);
catTab.elementAt(i).add(delCat);
agg.addActionListener(new GBC(f,tp));
//aggiorno elementi
for(int j=0;j<categorie.elementAt(i).elementi().size();j++)
{
catTab.elementAt(i).add(categorie.elementAt(i).Rb().elementAt(j));
}
tp.addTab(categorie.elementAt(i).nome(),null,catTab.elementAt(catTab.size()-1),"Visualizza categoria"+categorie.elementAt(i).nome());
}
f.setVisible(false);
f.setVisible(true);
}
Qualcuno sa come aiutarmi?
Per chi volesse qualche spiegazione in più di come funziona il programma:
Sto costruendo un programma che permetta di creare “liste” di JradioButton;
A questo proposito ho costruito la classe Lista che contiene un vettore di categorie(classe implementata da me) che contiene a sua volta il vettore dei JRadioButton per quella categoria);
Ogni lista contiene quindi delle categorie che vengono visualizzate nel JPanel come Tab del JtabbedPane;
Ogni categoria è di fatto un Jcomponent aggiunto alla tab, ed è proprio qui il problema:
Dunque se non aggiungo le tab, il programma riesce a salvare e caricare correttamente tutto quanto...
...se invece utilizzo le funzioni (riportate qui sopra) che mi permettono di aggiungere al pannello le tab delle categorie con tutti gli elementi mi da errore nella fase di salvataggio e caricamento
Spero di essere stato chiaro =)