"Vänner" episod Suggestor (6 / 17 steg)
Steg 10: Panel layouter
Detta avsnitt har min JPanel layouter, som summerar för att ordna layouten på huvuddisplayen i sin helhet.
I den första bilden:
-JPanel "buttonHolder" är utsedd att hålla de tre viktigaste knapparna ("random", "reset" och "rensa"). Den har en GridLayout med 3 rader, 1 kolumn och 10 pixlar avstånd mellan rader och kolumner. Som knappar läggs till "buttonHolder", tar var och en upp en rad. Bakgrunden är inställd på "vägg" för att matcha lila bakgrund.
-JPanel "seasonPanel" innehar för säsongen kryssrutor och tillhörande etikett. Jag satt en rutnätslayout med två rader och en kolumn. Den översta raden innehåller JPanel "labelHolder", som i sin tur innehar JLabel "plocka episoder från säsong:". Jag bakgrunden panelen "labelHolder" och "seasonPanel" till "mur" matcha den huvudsakliga lila bakgrunden, och jag la panelen checkbox "kryssrutorna" till den nedersta raden i "seasonPanel".
-JPanel "textHolder" rymmer helt enkelt texten. Sedan rullningslistan "Bläddra" rymmer textområdet, tillägga jag att "Bläddra" till panelen "textHolder" i stället för att lägga till "text". Som de andra panelerna, blir bakgrunden av "textHolder" som på den lila färgen som "vägg".
I den andra bilden, har vi större paneler. Som en generalisering satt jag bakgrundsfärgen för alla paneler "väggen" att matcha de andra panelerna lila bakgrund:
-JPanel "top" representerar toppen av fönstret bildskärm, och det håller panelen text område "textHolder" bara.
-JPanel "botten" utgör botten hälften av skyltfönster, med undantag av säsongen kryssrutorna. Det ställs in med en rutnätslayout (1 rad, tre kolumner). JPanels "ph1" och "ph2" är bara platshållare paneler för de vänstra och högra kolumnerna i "botten". I den mellersta kolumnen tas upp av "buttonHolder", panelen från tidigare som rymmer de tre knapparna.
-Jag ange layouten av denna EpisodePicker objekt vara en BorderLayout så att jag kan placera saker på kanterna lätt.
-JPanel "duk" representerar alla huvuddisplayen med undantag av säsongen kryssrutan panelen. Jag sätter duken vara ett rutnät med 2 rader och 1 kolumn. Den översta raden innehåller panelen "top", och den nedersta raden innehåller panelen "botten".
-Slutligen, jag lägga till "duk" i centrera av EpisodePicker objektet och jag till "seasonPanel" i botten (med BorderLayout). Jag gjorde detta så att "seasonPanel" kunde sträcka över hela botten av skärmen medan de tre knapparna skulle bara ta upp mitt tredje.
Phew! Nu när alla GUI-installationsprogrammet och layout är ur vägen, kan vi titta på de backend arbetande delarna av programmet som lagrar och genererar slumpmässiga episod förslag.