"Vänner" episod Suggestor (7 / 17 steg)
Steg 11: ActionPerformed metod
Detta är den metod som hanterar helst action (Klicka på en knapp eller inskrivning/unchecking av en kryssruta) från den stora displayen.
Metoden blir först, kommandot sträng förknippas med oavsett åtgärd händelse skickas. Denna sträng motsvarar etiketten från komponenten GUI där kommandot kom från. Till exempel att klicka på knappen "Random" skickar en åtgärd händelse till actionPerformed och kommandosträngen som åtgärder från denna händelse kommer att vara "Random". Använder den strängen, figurerar programmet ut hur man ska bemöta med ett switch-block. För er som inte vet, en switch block är ett alternativ till en linje av if/else block. Jag skickar i "cmd" till switchen, och varje fall är ett möjligt värde av "cmd" som bör motsvara några svar från programmet. Följande är de olika fall och deras tillhörande svar:
-"Random" -> jag använder en int matris med storlek 2 för att representera ett förslag (index 0 är antalet säsong och index 1 är antalet avsnitt). Metoden getRandom (att beskrivas senare) returnerar ett slumpmässigt förslag och visningsmetoden skriver ut förslaget fint på textområdet.
-"Reset" -> samtal metoden resetWatched, som återställer det sedda utbud, i huvudsak att alla avsnitt till "inte föreslog". Efter kalla resetWatched, visas ett meddelande som säger sedda listan har uppdaterats.
-"Clear" -> set text område texten till en tom sträng, effektivt rensa alla text från det JTextArea.
-Om "cmd" är ett nummer 1-10, betyder det befallning kom från ändrar kontrolleras/oskyddad läget för en av kryssrutorna om säsongen. Jag anropar metoden addSeason och passera den lämpliga säsong nummer, så addSeason kan avgöra hur till ändra den säsongen position i matrisen "preferredSeasons".
-Som standard satt jag actionPerformed att svara på ett okänt kommando genom att skriva kommandot i området vit text. Detta var mest för felsökning ändamål och är osannolik vid regelbundna körningen av programmet.