actionPerformed(java.awt.event.ActionEvent) in MenuFrame.MenuListener cannot implement actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener; overridden method does not throw java.lang.Exception private class MenuListener implements ActionListener
Jeg har prøvet lidt af hver. Og fejlmeldingen hvis jeg ikke kaster Exception lyder: unreported exception java.lang.Exception; must be caught or declared to be thrown
jeg har lavet en serialiseringsklasse der kan gemme mine objekter væk. Præcis som dit eksempel. Jeg kalder bare metoden igennem flere lag og får så fejlmeddelsen.
Ja, men exceptionhåndteringsansvaret har den klasse, som skriver til filen - du kan ikke kaste en exception i din actionPerformed metode. Se i API dokumentationen - interfacet ActionListener siger, at ingen exceptions kan blive kastet.
Din SkrivTilFil klasse er magen til den jeg har. Problemet er at det jeg skal gemme er en arrayList, som ligger i en klasse der hedder CustomerCatalog. Den bliver kaldt igennem en Controller der hedder Register - deraf variablen r. Jeg har så lagt metoden til at gemme arrayListen væk i CustomerCatalog-klassen. Kan det ikke lade sig gøre? Eller skal jeg så hente arrayListen ind i GUI-klassen og så kalde Serialiseringsklassen derfra???
Men kan din controllerklasse så ikke instansiere CustomerCatalog (som indkapsler en ArrayList) og sende den med som parameter ned til en SkrivTilFil klasse fra Register controlleren?
Lige nøjagtig. Men jeg kan ikke få det til at virke hvis jeg kalder metoden, som i eksemplet. Og nej, helt magen til er den nu ikke, men princippet er det samme.
Den klasse, som indeholder din ArrayList bør efter min mening ikke have ansvaret for at gemme sig selv. Lav en seperat klasse til det a la SkrivTilFil.
Super - det er jeg glad for at høre.. Det er vigtigt at have sit design/arkitektur nogenlunde fastlagt inden implementeringen begynder. Men der opstår nogle gange ændringer undervejs er min spæde erfaring:-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.