Klassen en objecten
Gebruikersinterface Swing (nieuw) en AWT (oud) Levert de GUI in Java applicaties: Vensters, knoppen, invoervakken, schuifbalken, keuzelijsten, etc. Wordt beschikbaar gemaakt via libraries
Opstartklasse // Opstartklasse voor een applicatie import javax.swing.*; public class Vb0201 extends JFrame { public static void main( String[] args ) // Maak een frame JFrame frame = new Vb0201(); frame.setSize( 400, 200 ); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.setTitle( "Eerste applicatie" ); frame.setVisible( true ); }
Wat is een klasse? Een beschrijving voor objecten Een soort blauwdruk voor objecten Maar wat is dan een object? Een instantie/exemplaar van een klasse Een zichtbaar/tastbaar iets (bijv.: een venster, een knop, een weergave van een kassa, etc.)
Elementen uit opstartklasse import javax.swing.*; Importeer uit de Java bibliotheek de package Swing (en daarvan alle klassen) public class Vb0201 extends JFrame { Header van de klasse Vb0201 is de naam van de klasse is een uitbreiding (extends) van klasse JFrame Kan daardoor methodes van die klasse gebruiken { opent het blok waar de klasse definitie begint
Elementen uit opstartklasse public static void main( String[] args ) { Deze methode genaamd main() moet in elke Java applicatie voorkomen Hier dus in de opstartklasse, het begin van alles Neem de code letterlijk over; later leer je begrijpen wat er staat Deze regel is de kop van de methode; de body volgt na { en wordt afgesloten met }
Elementen uit opstartklasse JFrame frame = new Vb0201(); Creëer van klasse Vb0201 een nieuw object (middels operator new) Noem dit object frame Het is van het type JFrame frame.setSize( 400, 200 ); Aanroep methode setSize() uit object frame Methode komt beschikbaar vanuit klasse JFrame, waarvan frame een instantie is! Bepaalt grootte van het frame
Elementen uit opstartklasse frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ) ; Aanroep methode setDefaultCloseOperation() uit object frame Methode komt beschikbaar vanuit klasse JFrame, waarvan frame een instantie is! Bepaalt wat er moet gebeuren als frame gesloten wordt door gebruiker
Elementen uit opstartklasse frame.setTitle( “Eerste applicatie” ) ; Aanroep methode setTitle() uit object frame Methode komt beschikbaar vanuit klasse JFrame, waarvan frame een instantie is! Geeft titel aan venster frame.setVisible( true ); Maakt venster zichtbaar
Een JPanel Het frame is gemaakt met de opstartklasse Het is echter alleen nog maar een leeg venster met een titel Met JPanel kun je zaken aan het venster toevoegen, zoals knoppen, tekstvelden, etc.
Een JPanel // Een paneel met een knop en een tekstvak import javax.swing.*; public class Paneel extends JPanel { // header vd klasse private JButton knop; // declaratie van velden private JTextField tekstvak; public Paneel() { // constructor (zelfde naam!) knop = new JButton( "Klik" ); // maak knop uit klasse JButton tekstvak = new JTextField( 10 ); // maakt tekstvak add( knop ); // zet knop op scherm add( tekstvak ); // zet tekstvak op scherm } // sluit constructor } // sluit klasse
JPanel en JFrame samen // Opstartklasse voor applicatie met paneel import javax.swing.*; public class Vb0202 extends JFrame { public static void main( String args[] ) { JFrame frame = new Vb0202(); frame.setSize( 400, 200 ); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.setTitle( "Voorbeeld 0202" ); JPanel paneel = new Paneel(); // maak JPanel object uit klasse Paneel() frame.setContentPane( paneel ); // koppel dit paneel aan frame frame.setVisible( true ); }
Samenvatting Bij het starten van een Java applicatie wordt als eerste methode main() uitgevoerd Hierin wordt een venster gemaakt… …en bepaalt eigenschappen van dat venster Er wordt een paneel gemaakt, wat dient als content van het venster