Generelt
Swing er et "lettvekter" API til å lage GUI for java. Swing har en Model-View-Controller GUI-arkitektur, en arkitektur som gjør det mulig å legge grafikk til kode, uten å forandre alt for mye på applikasjonen.
Med swing kan man enkelt lage "buttons"lage buttons, tekstfelt, " check boxes"boxes, " labels", tabeller og tabeller og lister, i tillegge tillegg til en rekke andre komponenter.
For mer om komponentene og hvordan de virker, se Swing komponenter.
Basic komponentbruk og oppbygning
En vanlig måte å bygge opp en GUI-applikasjon med swing er å bruke klassene JFrame og JPanel etter et bestemt mønster.
Konseptet handler om å ha en klasse A, som subklasser (arver) JPanel. A fyller seg selv med komponenter (tekst, buttons, osv.) og danner hele (eller deler) av et vindu.
Merk at en instans av JPanel, et panel, er en komponent på lik linje med et tekstfelt.
En instans av A, a, er altså en komponent utformet slik man ønsker at vinduet sitt skal se ut, men a vil ikke opprette noe vindu som vi kan se og røre ved. Her kommer JFrame inn. En instans av JFrame representeres som et faktisk vindu på skjermen vår. I dette vinduet kan vi legge komponenter på lik linje som et panel, men for å skape en struktur fyller vi hele vinduet eller framen med panelet a.
Forklaring til denne strukturen:
Det er vanlig å strukturere koden slik at klassen tilsvarende et vindu eller panel, typisk en subklasse av JPanel, selv fyller seg med innhold og reagerer på brukerens interaksjon med innholdet (kommer lenger ned).
For mindre applikasjoner uten menylinje er det uvanlig å subklasse JFrame, fordi denne er mindre vanlig å gjenbruke. Istedenfor subklasses JPanel som instansieres i en main-metode sammen med en JFrame og settes som JFramens contentPane.
|
---|
Dette eksempelet genererer et vindu med tekst og en knapp. // Eksempelet vil bli forklart med en video senere
...