Java GUI (swing) 1. del

Tags:    java gui swing
<< < 12 > >>
Skrevet af Bruger #15301 @ 26.07.2011

Indledning


Hvis man gerne vil lave GUI i java, har man som regel to muligheder. Den ene er AWT(Abstract Windowing Toolkit), der er en hardware accelereret window toolkit, og er lidt forældet og bliver ikke rigtigt supportet fra suns side længere. Og så er der swing, der er software accelereret window toolkit fra sun, der stadigvæk bliver udviklet. Og så er der SWT fra eclipse; men som dog ikke er tilgængelig i 1.6 JRE. I denne artikel, vil jeg fokuserer på Swing, da denne er den nyeste og denne stadigvæk bliver udviklet på, Dog er det hovedsageligt Layout delen af swing, der bliver kigget på i denne artikel.


1. Eksempel på en GUI


For at lave en GUI i java, er der nogle vigtige grundprincipper, man skal huske på. Men da jeg selv, finder det nemmere, at se koden først og finde principperne bagefter, starter vi med at kigge på et eksempel, med hvordan man kan lave et vindue og indsætte en kanp i den, og få programmet til at gøre noget, når man klikker på knappen.

Fold kodeboks ind/udJava kode 


Du skulle nu meget gerne ende op med et vindue, der nogenlunde ligner dette vindue, afhængigt af hvilket operativ system, du benytter dig af. Jeg benytter mig selv, af windows 7, og standard temaet i windows 7.



Forståelse for Swing


Vi ville nu kunne gennemgå, hvad de enkelte dele af koden gør; men dette springer vi lidt over, da det er rimeligt detaljeret i kommentarene i koden. Vi springer i stedet hen til det kedelige sted, nemlig forståelsen for, hvordan koden virker og hvorfor den skal se ud som den gør. For at få dette, skal vi først have en lille forståelse af, hvordan swing tænker.

Når man benytter sig af swing, skal man tænke i tre dele (JFrame, Panel, Component) som vidst på tegneningen.


JFrame
Dette er vores main vindue, som vi indsætter alle vores komponenter på.

JPanel
Dette er et komponent, hvor mange kan samle flere komponenter på, dette vil især være brugbart, når vi begynder at kigge på LayoutManagers.

JButton og andre komponenter
Dette er de komponenter, som vi ligger enten på vores paneler eller vindue.

Nu da du har fået grundforståelsen for, hvordan gui fungerer i swing, kan du roligt bevæge dig videre i artiklen.





<< < 12 > >>

Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.

Del også gerne artiklen med dine Facebook venner:  

Kommentarer (10)

User
Bruger #6559 @ 26.07.11 17:38
Slutter artiklen ikke lidt bræt?
User
Bruger #15301 @ 26.07.11 22:13
Det er meningen, at der kommer en efter følge, om ikke så længe :) .. Men jo ellers har du ret
User
Bruger #4487 @ 28.07.11 15:28
Kommer du også ind på event handlers i de æste artikler? Forresten har jeg som et supplement til denne artikel allerede lidt om layout managers og GUI generelt i Java Programmering 8. Del, men glæder mig til at læse dine kommende artikler :)
User
Bruger #15301 @ 29.07.11 08:34
Ja da, I den næste vil jeg forklarer, hvordan man får en fuldt fungerende lommeregner, der kan både plusse og minus. Til dette har jeg behov for, at benytte mig af nogle af de event handlers, der er i swing, dog kommer jeg dog ikke ind på alle de forskellige event handlers, der er i swing.

Lige den af dine artikler, havde jeg lige overset; men altid rart at få flere sider af samme sag ;)
User
Bruger #8985 @ 08.09.11 19:14
Der er næsten flere kommentarer i kodeeksemplerne end egentlig kode, og det gør det bare uoverskueligt, synes jeg :( Anyway har ikke nærlæst artiklen endnu, men synes det er fedt med en artikel om GUI i Java. Men kommentarer som

//Her sætter vi størrelsen på vinduet
this.setSize(675, 400);

er jo ikke supervigtige og kan jo sagtens placeres udenfor kodeboksen.
User
Bruger #15301 @ 09.09.11 08:36
Det er for det meste kun på den første side for, at alle kan få en forståelse af hvad der sker, og jo jeg kunne sagtens havde beskrevet det hvor det ikke stod i koden. Men har selv fundet det forvirrende, når nogen beskriver deres kode på den måde(i nogle tutorials). Men hvis du kigger på den sidste kode, for hvordan vores lommeregner kommer til at se ud, finder du at der ikke står særligt mange kommentar i koden.
User
Bruger #16775 @ 11.09.11 21:17
Jeg kan simpelthen ikke finde ud af at tilføje eventhandlers til et array, og har heller ikke kunnet finde det på nettet.

Hvordan gør man det, for det må kunne lade sig gøre, ellers forsvinder pointen med array'et vel hvis man skal tilføje knappernes events manuelt?
User
Bruger #15301 @ 11.09.11 23:20
Det står desvære i 2.del af artiklen (når den engang kommer ud, den er skrevet). Men da denne ikke er kommet ud endnu, vil jeg lige give en hurtigt eksempel på, hvordan man gør det her.

Fold kodeboks ind/udJava kode 


Du bedes venligst huske på, at dette kun er et uddrag fra noget af koden fra den næste artikel, og du bliver derfor nød til at gøre nogle ting ved denne kode selv; men da du allerede er kommet så langt kan du jo hurtigt se, hvad det er :)(bl.a en korrekt initialisering af "buttonGrid").. sådanne så det netop kommer til at passe ind i din applikation :)

Håber det hjalp
User
Bruger #15301 @ 30.12.11 17:56
Hvis, man kunne tænke sig at se en lille video omkring dette emne, og måske få lidt viden omkring nogle nyttige genveje i eclipse, så er det måske værd at se denne video :)

Link til video
User
Bruger #4487 @ 20.03.12 11:02
Gerne flere artikler om GUI programmering i Java tak :P
Du skal være logget ind for at skrive en kommentar.
t