4 dagar
Om kursen
I det omfattande standardbiblioteket för programspråket Java finns två olika ramverk för användargränssnitt: den mindre och enklare arkitekturen Abstract Window Toolkit (AWT) och den större och mer kompletta arkitekturen Swing. Den här kursen handlar i sin helhet om Swing-ramverket.
I Swing-arkitekturen ingår ett stort antal nyckelfärdiga komponenter som kan användas för att bygga upp användargränssnitt, från enkla inmatningsfält, tryckknappar, kryssrutor och menyer till komplexa komponenter som träd- och tabellkontroller. Kursen ger en översikt av dessa komponenter och presenterar ett representativt urval av dem i detalj. Stor tonvikt läggs på generella regler, som t ex hur layouter med många komponenter byggs upp, hur händelser från komponenterna hanteras, hur Swing-gränssnitt görs portabla mellan plattformar och hur Swing fungerar i flertrådad exekvering. Vi visar också hur Swing kan byggas ut med nya komponenter och layoutstrategier.
I Swing ingår flera delarkitekturer som är viktiga att behärska för att kunna använda ramverket på bästa sätt: MVC-arkitekturen gör det möjligt för komponenter att försörja sig direkt från verksamhetsnära objekt, i stället för att innehålla lokala kopior av samma information. MVC-arkitekturen gör det också möjligt att använda olika grafiska utseenden för komponenter på samma plattform. Klipp- och klistra-teknik gör det möjligt att flytta och kopiera såväl text som mer komplexa objekt mellan olika komponenter. Arkitekturen med kommandoobjekt gör det möjligt att knyta flera händelser, t ex menyval och knapptryck, till samma kommando. Dessa delarkitekturer tas också upp under kursen.
Kursens syfte är att lära ut hur man bygger användargränssnitt med hjälp av Swing-ramverket. Programspråket Java förutsätts känt från tidigare kurser samt praktisk erfarenhet. Kursen bygger på version 9 av Java Standard Edition (Java SE 9).
Innehåll
Swing-arkitekturen
- Grafiska användargränssnitt
- Versioner av Swing
- Relationen till AWT (Abstract Window Tookit)
- Java Foundation Classes (JFC)
- Komponenter och behållare
- Layoutstrategier
- Händelsehantering
- MVC-arkitekturen i Swing
Fördefinierade Swing-komponenter
- Fasta texter
- Ikoner och bilder
- Enradiga textfält
- Flerradiga textfält
- Lösenordsskyddade textfält
- Formaterade textfält
- Tryckknappar
- Kryssrutor
- Radioknappar
- Komboboxar
- Listfält
- Blädderfält
- Fasta menyer
- Popupmenyer
- Verktygsrader (toolbars)
- Förloppsmätare (progress bars)
- Trädkontroller
- Tabellkontroller
Generella komponentegenskaper
- Bak- och förgrundsfärg
- Typsnitt
- Synlighet
- Passiverade komponenter
- Omritning och omlayout
- Tangentbordsfokus
- Tangentbordsstyrning
- Automatiska hjälptexter (tooltips)
- Inramning för komponenter
- Alternativa grafiska utseenden
- Det grafiska utseendet Nimbus
Fördefinierade Swing-behållare
- Fönster
- Paneler
- Rullningsbara ytor
- Modala och icke-modala dialoger
- Meddelandedialoger
- Bekräftelsedialoger
- Flervalsdialoger
- Inmatningsdialoger
- Filväljardialoger
- Filväljarfilter
- Färgväljare
Layoutstrategier i Swing
- Layout av portabla användargränssnitt
- Layoutstrategin
FlowLayout
- Layoutstrategin
GridLayout
- Layoutstrategin
BoxLayout
- Layoutstrategin
BorderLayout
- Layoutstrategin
CardLayout
- Layoutstrategin
GridBagLayout
Tekniker i Swing
- Fönsterhantering
- Hantering av inmatningsformulär
- Menyhantering
- Snabbvalstangenter
- Kommandoobjekt (
Action
-objekt) - Validering av inmatningsfält
- Klipp- och klistrateknik
- Utskrift av tabellkomponenter
Parallell exekvering i Swing
- Flertrådad exekvering i Swing
- Huvudregeln
- Klassen
SwingUtilities
- Klassen
Timer
Utbyggnad av Swing
- Egenutvecklade Swing-komponenter
- Egenutvecklade dialoger
- Egenutvecklade layoutstrategier
- Egenutvecklade cellformaterare
- Skräddarsydda modellobjekt
Mål
Du ska få en inblick i hur man bygger grafiska användargränssnitt enligt Swing-arkitekturen. Du ska känna till uppsättningen av färdiga komponenter, hur användargränssnitt utformas med stöd av layoutstrategier och hur händelser hanteras.
Målgrupp
Systemutvecklare av Java-tillämpningar med grafiska användargränssnitt.
Förkunskaper
Kunskaper motsvarande kursen Programmera i Java samt praktisk erfarenhet av programmering i Java.
Beskrivning
Kursen beskriver ramverket Swing för grafiska användargränssnitt i Java-tillämpningar. Teori varvas med praktiska övningar i täta pass.
Kursmaterial
- Egenproducerad kurspärm (vi tillhandahåller ett provavsnitt)
- USB-minne eller CD-skiva med samtliga illustrationsexempel och lösningsförslag till samtliga övningar
Kurslängd
Fyra dagar