Java Swing
Introduktion
redigérDenne bog handler om udviklingen af grafiske applikationer i Java, ved hjælp af Swing biblioteket. Bogen er tiltænkt nybegynder, men skal også virke som et opslagsværk med eksempler. Forudsat er dog, at de grundlæggende begreber indenfor programmering er kendte.
Alt hjælp til færdiggørelsen af denne bog værdsættes.
CBirn 12. jun 2006 kl. 14:08 (UTC)
Swing
redigérSwing biblioteket er del af Javas Foundation Classes (JFC). Da java blev lanceret var Swing ikke skrevet, derimod stod biblioteket AWT (Abstract Window Toolkit) til rådighed. Først med J2SE rel. 1.2 blev Swing en fast del af java. Med begge biblioteker er det muligt, at fremstille grafiske overflader. Man kan sige at Swing er en art overbygning til AWT.
De mest fundamentale forskelle mellem bibliotekerne er:
- AWT
Heavyweigt Komponenterne benytter sig af Systemafhængige funktioner. Dette fører f.eks. til at et vindue i ser forskelligt du i Linux og Windows. Komponenter Der er her tale om komponenter som forholder sig forskelligt på forskellige systemer. Udbuddet er heller ikke så stor i forhold til Swing.
- Swing
Lightweight Komponenterne forholder sig ens på forskellige styresystemer. Det er muligt at skabe en Interaktion på tværs af komponenterne. Komponenter Der står et stort antal komponenter til rådighed, som gør det muligt at fremstille moderne grafiske overflader.
Grundlæggende
redigérVil starte med et grundlæggende eksempel, nemlig et vindue, med teksten "Vi programmerer Swing"
Hvis følgende programkode kopieres ind i en fil kaldet "SimpleGui1.java", kompileres og startes, så skulle der gerne vises et vindue uden menu, men med standard lukke og maksimere/minimere knapper.
package simplegui1; import javax.swing.JFrame; import javax.swing.JLabel; public class SimpleGui1 { //Variabel som definerer et vindue. private JFrame frame = new JFrame("Simple GUI"); /** Metode der opretter en instans af SimpleGui1 */ public SimpleGui1() { //Her definerer vi vores tekst JLabel label = new JLabel("Vi programmerer Swing"); //Her tilføjes teksten til vinduet frame.getContentPane().add(label); //Her bestemmes der hvad der sker når man lukker vinduet. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Her startes vinduet frame.setVisible(true); } //Start metode public static void main(String[] args) { SimpleGui1 simplegui = new SimpleGui1(); } }
JFrame klassen benyttes til at lave Vinduer med.
JFrame frame = new JFrame("Simple GUI");
Ved definitionen af et vindue, er det vigtigt at fortælle, hvad der sker når vinduet lukkes.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
havde vi udeladt denne linje, så var vinduet blevet skjult i stedet for at forsvinde.
Vores vindue vises ved hjælp af følgende metode kald.
frame.setVisible(true);
Til teksten i vores eksempel benytter vi os af JLabel klassen. En JLabel er en kort tekst eller ikon.
JLabel label = new JLabel("Vi programmerer Swing");
Vores JLabel tilføjes vinduet dvs. vores Frame
frame.getContentPane().add(label);
Det er vigtigt at benytte: getContentPane() Det er sådan at JFrame er baseret på Frame klassen (java.awt.frame) og de er ikke fuldt ud kompatible.