Nogmaals mijn xq's voor mijn laatste post. Die was idd ondoordacht.
Maar
bij deze kom ik er echt niet uit, ook niet op google of bij sun.
Ik heb een progie geschreven die een stand kan bijhouden van een bep pool biljart spelletje.
Hij progie open een JFrame, in dit JFrame wordt een panel in een Contentpane gezet. Dit is zeg maar het hoofd panel die weer andere panels bevat zoals control panel ( met knoppen ed).
Het progie werkt prima. Ik kan zelfs wat naar een file schrijven.(code volgt)
Maar als ik deze file dan wil openen, laad hij netjes alle info (zoals uitslagen ed), maar de knopen van bijv control panel werken niet meer.
Ik kan dus in het geopende bestand niet meer verder werken.
Zo schrijf is een file weg. main is het hoofd panel. Deze bevat referentie naar meerde objecten(zoals dus control panel)
Als ik dit bestand dus ga inlezen.
Alles wat ik opgeslagen had is weer zichtbaar maar de knopen functioneren niet meer in de panles....
ik hoop dat ik het een beetje duidelijk heb gebracht...
Alles classes vanaf main implementeren Serializable.
De acties van de knoppen zijn wel allemaal inner classes. Dus:
Maar
Ik heb een progie geschreven die een stand kan bijhouden van een bep pool biljart spelletje.
Hij progie open een JFrame, in dit JFrame wordt een panel in een Contentpane gezet. Dit is zeg maar het hoofd panel die weer andere panels bevat zoals control panel ( met knoppen ed).
Het progie werkt prima. Ik kan zelfs wat naar een file schrijven.(code volgt)
Maar als ik deze file dan wil openen, laad hij netjes alle info (zoals uitslagen ed), maar de knopen van bijv control panel werken niet meer.
Ik kan dus in het geopende bestand niet meer verder werken.
Zo schrijf is een file weg. main is het hoofd panel. Deze bevat referentie naar meerde objecten(zoals dus control panel)
Java:
1
2
3
4
5
6
7
8
9
10
11
| public void saveModel(){ try{ FileOutputStream fos = new FileOutputStream("model.sss"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(main); oos.close(); } catch(Exception e){ e.printStackTrace(); } } |
Als ik dit bestand dus ga inlezen.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| public void openModel(){ try{ FileInputStream fis = new FileInputStream("model.sss"); ObjectInputStream ois = new ObjectInputStream(fis); main = (MainView)ois.readObject(); ois.close(); panel.removeAll(); panel.add(main); panel.validate(); } catch(Exception e){ e.printStackTrace(); } } |
Alles wat ik opgeslagen had is weer zichtbaar maar de knopen functioneren niet meer in de panles....
ik hoop dat ik het een beetje duidelijk heb gebracht...
Alles classes vanaf main implementeren Serializable.
De acties van de knoppen zijn wel allemaal inner classes. Dus:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
| settings.add(setRace = new JButton("Confirm")); setRace.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ if(raceTo.isEditable()){ if(!raceTo.getText().equals("")){ raceTo.setEditable(false); model.setRaceTo(Integer.parseInt(raceTo.getText().trim())); } }else{ raceTo.setEditable(true); } } }); |