Download
algoritmiek n.
Skip this Video
Loading SlideShow in 5 Seconds..
Algoritmiek PowerPoint Presentation
Download Presentation
Algoritmiek

Algoritmiek

158 Views Download Presentation
Download Presentation

Algoritmiek

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Algoritmiek Java GUIs, AWT en Swing API Overzicht te bestuderen stof, voorbeeldtentamen Hoorcollege 15 - Ma. 11 dec. 2006 L.M. Bosveld-de Smet

  2. Onderwerpen vandaag • Graphical User Interfaces (GUIs) • AWT en Swing classes • Browser-Applet interactie • Overzicht behandelde stof • Brookshear, King • Hoorcolleges (zie presentaties en aantekeningen) • Voorbeeldvragen tentamen

  3. Java Applet Window: voorbeeld

  4. Java GUI: voorbeeld 1

  5. Java GUI: voorbeeld 2

  6. GUI als locus van interactie

  7. Distance conversion GUI met Applet Viewer label text field containers text area met twee regels tekst buttons met text

  8. GUIs bouwen • AWT • Swing API (sinds Java 1.2) • Categorieën van classes in Swing en AWT • Swing GUI component classes • AWT layout manager classes • AWT event classes • AWT listener classes

  9. Deel van AWT en Swing hierarchie Object Component Container Panel Applet JApplet JComponent JLabel JOptionPane JPanel AbstractButton JTextComponent JButton JTextField JTextArea

  10. Distance conversion GUI met browser JApplet JPanel

  11. Distance conversion GUI met browser JLabel JTextField JButton JTextArea

  12. HTML-file met een applet code tag <HTML> <TITLE>Distance Conversion Applet</TITLE> <applet code = DistanceGUI.class width = 300 height = 200> </applet> </HTML>

  13. Browser roept Applet-methoden aan browser laadt pagina init() gebruiker verlaat pagina start() browser start applet gebruiker keert terug naar pagina stop() browser stopt applet browser vernietigt applet destroy()

  14. GUI ontwerp • Instructies of informatie voor gebruiker • Manier om de gebruiker iets in te laten voeren • Plaats voor uitvoer • Manier om de gebruiker daadwerkelijk iets te laten doen met de applicatie

  15. Distance GUI

  16. GUI componenten DistanceGUI JApplet -------------------------------- content pane for DistanceGUI dataPanel (JPanel) buttonPanel (JPanel) inputLab (JLabel) input (JTextField) toMiles (JButton) toKms (JButton)

  17. Code DistanceGUI class (zie copie) • Declareren en aanmaken van GUI component objecten • JApplet init( ) methode herdefiniëren • layout van GUI objecten bepalen • GUI objecten toevoegen aan applet • focus aan text field component toekennen • ActionListeners toevoegen aan de buttons • Methode actionPerformed( ) definiëren

  18. DistanceGUI: Constructoren voor GUI componenten • JTextField (String str, int col) • JTextArea (String str, int row, int col) • JButton (String str, Icon pic) • JLabel (String str, Icon pic) • JPanel (LayoutManager lM)

  19. DistanceGUI: Methoden in init ( ) • Container.setLayout (LayoutManager lM) • Container.add (Component c) • Component.requestFocus ( ) • Component.setBorder (Border bor) • Component.setBackground (Color col) • Component.setForeground (Color col) • generatorObject.addActionListener (ListenerObject)

  20. ActionListener interface public class DistanceGUI extends JApplet implements ActionListener • elke ‘implementer’van AtionListener moet een methode actionPerformed ( ) definiëren public interface ActionListener extends EventListener { public void actionPerformed (ActioEvent e); }

  21. Java Event Model Listener Generator … Convert to miles actionPerformed() Button toMiles … applet dGUI

  22. Algoritme actionPerformed ( ) • get the input distance from text field input • create a DistanceConverter object • if the toMiles button is pressed • convert input distance to miles using DistanceConverter method toMiles() • show the values in kilometers and miles in the output text area • else if the toKms button is pressed • convert input distance to kilometers using DistanceConverter method toKilometers() • show the values in kilometers and miles in the output text area

  23. DistanceGUI: Methoden in actionPerformed ( ) • Component.getText ( ) • Component.setText (String str) • anEvent.getSource ( )

  24. Het verschil • “event-driven” programmeren • “stop-and-wait” programmeren

  25. Overzicht Algoritmiek (1) • Probleem oplossen en algoritmen opstellen • Polya • Computer Science • Computerarchitectuur • Coderingen en binaire notaties • Programmeerparadigma’s • Software engineering • Programmeertaal onafhankelijk • Data typen en datastructuren • Controlestructuren • OOP aspecten • Ontwerp van OO-programma’s

  26. Overzicht Algoritmiek (2) • Programmeren in Java • Primitieve typen vs. Klasse/referentietypen • Klassen en objecten • String klasse en Array klasse • Variabelen en methoden: static of niet, toegankelijkheid • Hierarchie van klassen en overerving • Polymorfisme • Interfaces • Abstracte klassen • AWT Graphics klasse • Java GUIs: AWT en Swing API

  27. Te bestuderen voor tentamen • Stof behandeld tijdens hoorcolleges • Opgegeven literatuur • King: Chapters 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 • Brookshear: Introduction en Chapters 1, 2, 4, 5, 6, 7 (in recente versies 1, 2, 5, 6, 7, 8) • Gemaakte opdrachten

  28. Voorbeeldtentamen • Zie copie.

  29. Veel succes