Algoritmiek

advertisement
Algoritmiek
Java GUIs, AWT en Swing API
Overzicht te bestuderen stof,
voorbeeldtentamen
Hoorcollege 15 - Ma. 11 dec. 2006
L.M. Bosveld-de Smet
Onderwerpen vandaag

Graphical User Interfaces (GUIs)



Overzicht behandelde stof



AWT en Swing classes
Browser-Applet interactie
Brookshear, King
Hoorcolleges (zie presentaties en aantekeningen)
Voorbeeldvragen tentamen
Java Applet Window: voorbeeld
Java GUI: voorbeeld 1
Java GUI: voorbeeld 2
GUI als locus van interactie
Distance conversion GUI met Applet Viewer
label
text field
containers
text area met twee
regels tekst
buttons
met text
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
Deel van AWT en Swing hierarchie
Object
Component
Container
Panel
Applet
JComponent
JApplet
JLabel
JOptionPane
JPanel
AbstractButton
JButton
JTextComponent
JTextField
JTextArea
Distance conversion GUI met browser
JApplet
JPanel
Distance conversion GUI met browser
JLabel
JTextArea
JTextField
JButton
HTML-file met een applet code tag
<HTML>
<TITLE>Distance Conversion Applet</TITLE>
<applet code = DistanceGUI.class width = 300 height = 200>
</applet>
</HTML>
Browser roept Applet-methoden aan
browser laadt
pagina
gebruiker
verlaat pagina
init()
start()
browser start
applet
gebruiker keert terug naar
pagina
stop()
browser vernietigt
applet
destroy()
browser
stopt applet
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
Distance GUI
GUI componenten
DistanceGUI JApplet
-------------------------------content pane for DistanceGUI
dataPanel (JPanel)
inputLab (JLabel)
input (JTextField)
buttonPanel (JPanel)
toMiles (JButton)
toKms (JButton)
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
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)
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)
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);
}
Java Event Model
Listener
Generator
Convert to miles
…
actionPerformed()
Button toMiles
…
applet dGUI
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
DistanceGUI: Methoden in
actionPerformed ( )



Component.getText ( )
Component.setText (String str)
anEvent.getSource ( )
Het verschil


“event-driven” programmeren
“stop-and-wait” programmeren
Overzicht Algoritmiek (1)

Probleem oplossen en algoritmen opstellen


Computer Science





Polya
Computerarchitectuur
Coderingen en binaire notaties
Programmeerparadigma’s
Software engineering
Programmeertaal onafhankelijk




Data typen en datastructuren
Controlestructuren
OOP aspecten
Ontwerp van OO-programma’s
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
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
Voorbeeldtentamen

Zie copie.
Veel succes
Download