130 likes | 292 Views
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 .*;
E N D
Gebruikersinterface • Swing (nieuw) en AWT (oud) • Levert de GUI in Java applicaties: • Vensters, knoppen, invoervakken, schuifbalken, keuzelijsten, etc. • Wordt beschikbaar gemaakt via libraries
Opstartklasse // Opstartklassevooreenapplicatie import javax.swing.*; public class Vb0201 extends JFrame { public static void main( String[] args ) { // Maakeen frame JFrame frame = new Vb0201(); frame.setSize( 400, 200 ); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.setTitle( "Eersteapplicatie" ); 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 extendsJFrame { • 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 staticvoidmain( 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 // Eenpaneel met een knop en eentekstvak import javax.swing.*; public class Paneel extends JPanel{ // header vdklasse private JButton knop; // declaratie van velden private JTextFieldtekstvak; public Paneel() { // constructor (zelfdenaam!) knop = new JButton( "Klik" ); // maak knop uitklasseJButton tekstvak = new JTextField( 10 ); // maakttekstvak add( knop ); // zet knop op scherm add( tekstvak); // zettekstvak op scherm } // sluit constructor } // sluitklasse
JPanel en JFrame samen // Opstartklassevoorapplicatie 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" ); JPanelpaneel = new Paneel(); // maakJPanel object uitklassePaneel() frame.setContentPane( paneel); // koppelditpaneelaan 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