Swing

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


© Copyright 2020 HB Bohel Smådatorprodukter. Alla rättigheter reserverade. Alla varumärken och registrerade varumärken tillhör respektive ägare.