Programmeren in Java. De Java-GUI

Maat: px
Weergave met pagina beginnen:

Download "Programmeren in Java. De Java-GUI"

Transcriptie

1 DE JAVA-GUI Programmeren in Java 1 Programmeren in Java Section Page Inleiding De Java-GUI Swing-componenten Panelen Interactie met de gebruiker De Flipflop Computerarchitectuur Index De Java-GUI Piter Dykstra 2 februari Inleiding. We zullen wat oefeningen maken met kleine apparaatjes. Geen fysieke dingen natuurlijk, maar machientjes die in Java gesimuleerd worden. Het kleinste ding is een flipflop, dat zijn schakelaars die aan en uit kunnen. Je kunt daar wat grotere objecten mee maken, zoals telregister s en opteller s. En dat zijn weer dingen waar een computerprocessor uit op is gebouwd. Je krijgt dus en passent ook nog wat computerarchitectuur mee. Maar het gaat uiteindelijk om eindige automaten, dat is een klasse van machines, de zich in één (of meer) eindige toestand(en) kunnen bevinden. En door bepaalde gebeurtenis sen kunnen ze van toestand veranderen. Eindige automaten zullen we gebruiken om genefinder s mee te maken. Natuurlijk is het ook leuk om die machientjes niet alleen in de vorm van Java-code te zien, maar ook levensecht in werking op het scherm. Daarvoor heb je een kleine cursus grafisch programmeren in Java nodig, waarmee we dan ook maar meteen beginnen. 2. De Java-GUI.

2 2 Programmeren in Java DE JAVA-GUI 2 De onderdelen van de Java GUI vormen een complexe klassenhiërarchie, zoals je in fig. 1 kunt zien. Op het op één na hoogste niveau vind je de belangrijkste. De Component s zijn de echte dingen, die je ook als een soor fysiek object ziet. De rest is nodig om ze te maken (kleur,tekst, positie,...). De Component s vormen ook nog een grote klasse. Laten we daarom eerst maar eens zien wat we minimaal nodig hebben om uberhaupt iets zichtbaar te maken. Wat je altijd zult zien is een Window. Die heb je in twee soorten: dialogen en gewone vensters. We beginnen met een gewoon venster, ofwel een Frame. Omdat we van de nieuwste grafische omgeving van Java, Swing, gebruik zullen maken en niet de wat oudere en meer beperkte AWT (Abstract Window Toolkit), hebben we een speciaal frame nodig: JFrame. Elke grafische applicatie met Swing is een extensie van een JFrame of een JApplet. En om tenminste iets te zien hoef je nu niet veel meer te doen: 1. Je moet het object maken (met new ). 2. Er voor zorgen dat het venster sluit bij het clicken op het kruisje rechtsboven, is ook nodig, anders krijg je een troep aan zombie-processen in het systeem. 3. Als je de grootte niet zet, blijft het een heel klein venster. 4. Met onzichtbare vensters kun je echt heel weinig. (LeegVenstertest.java 2) import java.awt. ; import javax.swing. ; public class LeegVenstertest extends JFrame { public static void main (String [ ] args ) { LeegVenstertest venster new LeegVenstertest (); venster.setdefaultcloseoperation(jframe.exit ON CLOSE ); venster.setsize (200, 200); venster.setvisible (true); 3. Het bovenstaande is pseudocode, maar een speciaal programma, javatangle, kan hier koffie van maken en dan onstaat de volgende tekst: import java.awt.* ; import javax.swing.* ;

3 3 DE JAVA-GUI Programmeren in Java 3 Object Dimension Font Color Component LayoutManager Container Panel Window JComponent Applet Frame Dialog JApplet JFrame JDialog Fig 1. De GUI-componenten. public class LeegVenstertest extends JFrame { public static void main (String [] args) { Venstertest venster = new LeegVenstertest() ; venster.setdefaultcloseoperation(jframe.exit ON CLOSE) ; venster.setsize(200, 200) ; venster.setvisible(true) ;

4 4 Programmeren in Java SWING-COMPONENTEN 3 Fig 2. Het eerste (lege) venster. Opdracht: 1 Voer dit programma in en neem dan het resultaat van je eerste grafische Java-programma waar. Het moet er uit zien als fig. 3. Gefeliciteerd! 4. Alle volgende programma s zullen op dezelfde manier van een JFrame gebruik maken. Daarom leggen we de code voor de main -methode in een macro vast. De maten geven we na de naam als parameter mee bij de aanroep. define nieuwjframe (naam, xval, yval ) public static void main (String [ ] args ) { naam venster new naam (); venster.setdefaultcloseoperation( JFrame.EXIT ON CLOSE ); venster.setsize (xval, yval ); venster.setvisible (true); 5. Swing-componenten. Dan is nu de beurt aan de grafische componenten. We willen natuurlijk knoppen, invulvelden, panelen, tekst- en teken-gebieden in dat venster plaatsen. Dat kan allemaal want Swing heeft het, tot database-tabellen en tab-bladen aan toe. (zie fig. 3) Het volgende voorbeeld heeft er drie: een label (tekst), een knop en een tekstveld. Om elementen toe te voegen moeten we een constructor definiëren.

5 5 SWING-COMPONENTEN Programmeren in Java 5 JComponent AbstractButton JTextComponent JLabel JPopupMenu JList JProgressBar JComboBox JToolTip JButton JEditorPane JMenuBar JSeparator JToggleButton JTextArea JPanel... JMenuItem JTextField JOptionPane JCheckBox JScrollBar JRadioButton JMenu JPassordField... JCheckBoxMrnuItem JRadioButtonMenuItem Fig 3. De Swing-componenten. Daarin worden de elementen geplaatst, d.w.z. in de ContentPane van het JFrame. De ContentPane is een Container waar de elementen met de methode add aan toe worden gevoegd. Hoe dat gebeurt hangt af van de opruimer, of LayoutManager. Elke container kan een layoutmanager hebben. Die moet wel eerst geïnstalleerd worden. De private variabele Layout bevat de LayoutManager. Er is keuze uit een heleboel layoutmanagers, maar de belangrijkste zijn: 1. FlowLayout. Vergelijk het met een tekstverwerker. Met add worden de elementen achteraan geplaatst op regels, met automatische regelafbreking. Wanneer je het venster resizet begrijp je sneller hoe het werkt, dan ik

6 6 Programmeren in Java SWING-COMPONENTEN 5 hier uit kan leggen. 2. GridLayout. Je geeft aan de constructor 2 ints mee (aantal kolommen, aantal rijen). Daar wordt een grid of rooster voor gemaakt en met add wordt dat van linksboven naar rechtsbeneden gevuld. De cellen hebben de afmetingen van het grootste element. 3. BorderLayout. Je kunt langs de randen aanvullen. Je moet dan wel een rand meegeven. De add -methode bij deze layoutmanager heeft dan ook twee parameters nodig. Na het element wordt de rand genoemd (één van de waarden: NORTH, SOUTH, WEST, EAST en ook CENTER). Voor de attributen van een component die gewijzigd kunnen worden, zijn er setvariabele-methoden. Evenzo kun je een waarde opvragen met een getvariabele -methode. Fig 4. Het tweede venster. (Venstertest.java 5) import java.awt. ; import javax.swing. ; public class Venstertest extends JFrame { nieuwjframe(venstertest, 200, 200)... De constructor public Venstertest () { Container c getcontentpane (); c.setlayout (new FlowLayout ()); Vensteronderdelen 6

7 5 PANELEN Programmeren in Java 7 6. Labels plaats je zo: Vensteronderdelen 6 c.add (new JLabel ("Hallo..")); c.add (new JLabel (" Wereld!")); See also sections 7 and 8. This code is used in section Knoppen kunnen ook een tekst hebben (zelfs een plaatje). Maar een kleurje kan ook. Vensteronderdelen 6 JButton knop new JButton (); knop.settext ("1"); knop.setbackground (Color.green ); c.add (knop); 8. Text is de inhoud van het JTextField. Je kunt het set ten, maar invoer van een gebruiker kun je ook get ten. Vensteronderdelen 6 JTextField tekst new JTextField (15); tekst.settext ("Twee"); tekst.setforeground (Color.red ); c.add (tekst ); 9. In Java komt het er ongeveer zo uit te zien: // De constructor public Venstertest(){ Container c = getcontentpane() ; c.setlayout(new FlowLayout()) ; c.add(new JLabel("Hallo..")) ; c.add(new JLabel(" Wereld!")) ; Opdracht: 2 Breid het programma van opdracht 1 zo uit dat er ook een knop en een tekstveld in voorkomt. Verander hier en daar ook een paar attributen.

8 8 Programmeren in Java PANELEN Panelen. Het volgende programma, paneltest.java, is op het eerste oog meer van hetzelfde. Maar dat heeft een bedoeling; verschillende componenten worden in aparte verzamelvak jes of panel en opgeslagen om ze visueel als een groep te behandelen. Je kunt ze bij elkaar houden omdat de layoutmanager een panel als een eenheid behandelt Ze kunnen ook een speciale achtergrond of een rand krijgen. (Layoutpaneltest.java 10) import java.awt. ; import javax.swing. ; import javax.swing.border. ; public class Layoutpaneltest extends JFrame { nieuwjframe(layoutpaneltest, 500, 300)... De constructor public Layoutpaneltest () { settitle ("layout panelentest"); Container c getcontentpane (); c.setlayout (new FlowLayout ()); c.setbackground (Color.yellow ); Panel van Junk 13 c.add (verzamelvak ); Panel van 5 2 met Struts 12 Junk 13 Een rand 14 Een tekstveld 15 c.add (verzamelvak ); 11. Hier gebruiken we de GridLayout voor een kolom van 10 elementen: Panel van JPanel verzamelvak new JPanel (); verzamelvak.setlayout (new GridLayout (10, 1)); This code is used in section 10.

9 12 PANELEN Programmeren in Java 9 Fig 5. De Layout-panelen-tester. 12. Er zijn onzichtbare componenten, die toch zin hebben. Strut s zijn dingen met alleen een hoogte (VerticalStrut ) of alleen een breedte (HorizontalStrut ). Door die componenten op te nemen kun je garanderen dat andere componenten ook een minimale breedte of hoogte hebben. Panel van 5 2 met Struts 12 verzamelvak new JPanel (); verzamelvak.setlayout (new GridLayout (5, 2)); verzamelvak.add (Box.createHorizontalStrut (100)); verzamelvak.add (Box.createVerticalStrut (50)); This code is used in section Vulling voor de panel s. Junk 13 verzamelvak.add (new JLabel ("Hallo..")); verzamelvak.add (new JLabel (" Wereld!")); verzamelvak.add (new JButton (" ")); verzamelvak.add (new JButton (" ")); Er is zelfs een onzichtbare elastische component, die overigens glue heet; daarmee kun je centreren maar ook links of/en rechts uitlijnen.

10 10 Programmeren in Java INTERACTIE MET DE GEBRUIKER 13 verzamelvak.add (new JButton (" ")); verzamelvak.add (new JLabel ("Hallo..")); verzamelvak.add (new JLabel (" Wereld!")); This code is used in section Elke copmponent kan een rand krijgen en er zijn een heleboel soorten. Een rand 14 LineBorder b new LineBorder (Color.black ); verzamelvak.setborder (b); This code is used in sections 10 and De breedte van het tekstveld is 15 tekens. Een tekstveld 15 JTextField tekst new JTextField (15); tekst.settext ("Twee"); tekst.setforeground (Color.red ); verzamelvak.add (tekst ); This code is used in section Opdracht: 3 Plaats je componenten (knop en tekstveld ) boven elkaar in een panel. 17. Interactie met de gebruiker. Tot nu toe is het wel Grafisch, maar er is nog geen UserInteractie. We kunnen wel op de knop clicken; er gebeurt dan wel iets. En de tekst in het tekstveld is ook te wijzigen, maar daar wordt niets mee gedaan. We hebben ook niet aangegeven hoe. Het systeem reageert wel elke minimale aktie van een gebruiker (tot het knipperen van de ogen aan toe). Maar wil het programma het eigenlijk wel weten? Meestal niet: van een knop wordt b.v. vastgelegd wanneer de muis er boven aankomt en wanneer de muis het knopoppervlak verlaat, maar we zijn alleen geïnteresseerd in het aanclicken van de knop. Om aan te geven dat we in aanclick-gebeurtenis sen zijn geïnteresseerd moeten we die knoppen laten registreren bij een of meer ActionListener s. Click-gebeurtenissen zijn n.l. ActionEvent s. Meestal is dat het JFrame zelf. Die moet daarvoor de interface ActionListener implementeren. Vandaar de toevoeging

11 17 INTERACTIE MET DE GEBRUIKER Programmeren in Java 11 implements ActionListener in de declaratie. Dat houdt in dat het JFrame een methode public void actionperformed (ActionEvent e) moet hebben. Deze methode wordt door de GUI aangeroepen, wanneer er een ActionEvent wordt gegenereerd. Het registreren wordt uitgevoerd met knop.addactionlistener (this) in de constructor. Een knop weet dus hoe die zich moet registreren. En this is het ding, het JFrame dus, zelf. define writeln System.out.println define maakknop(knp, kleur ) knop@& knp new JButton (); knop@& knp. settext ( " knp " ) ; knop@& knp. setbackground (Color.kleur ); c.add (knop@& knp); knop@& knp. addactionlistener (this) (Knoptest.java 17) import java.awt. ; import java.awt.event.actionlistener ; import java.awt.event.actionevent ; import javax.swing. ; public class Knoptest extends JFrame implements ActionListener { private JButton knop1, knop2, knop3 ; nieuwjframe(knoptest, 200, 200)... De constructor public Knoptest () { Container c getcontentpane (); c.setlayout (new GridLayout (2, 2)); maakknop(1, red ); maakknop(2, green ); maakknop(3, pink ); public void actionperformed (ActionEvent e) { if (e.getsource() knop1 ) writeln ("Knop 1 is gedrukt."); else if (e.getsource() knop2 ) writeln ("Knop 2 is gedrukt."); else writeln ("Knop 3 is gedrukt.");

12 12 Programmeren in Java DE FLIPFLOP Van een Event kun je met de methode getsource de bron achterhalen. Zo weet je op welke knop is gedrukt. Fig 6. Het Knoptestprogramma tegen de achtergrond van zijn eigen uitvoer. Opdracht: 3 Een teller. Gebruik je vorige programma om een teller te maken. Bij het opstarten staat het tekstveld op 0 en bij elke keer drukken wordt de waarde met 1 opgehoogd. Maak er ook een reset-knop bij, die de teller dus weer op 0 zet. 19. De Flipflop. (Flipflop.java 19) import java.awt. ; import javax.swing. ;

13 19 DE FLIPFLOP Programmeren in Java 13 Fig 7. De Flipfloptester. public class Flipflop extends JButton { private boolean stand ;... De constructor public Flipflop() { super(" "); stand false; setbackground (Color.red ); public void flip() { stand stand ; if (stand ) setbackground (Color.green ); else setbackground (Color.red ); 20. De Flipfloptest (Flipfloptest.java 20) import java.awt. ; import java.awt.event. ; import javax.swing. ; import javax.swing.border. ; public class Flipfloptest extends JFrame implements ActionListener { private Flipflop myflip new Flipflop(); nieuwjframe(flipfloptest, 200, 100)... De constructor public Flipfloptest () { Container c getcontentpane ();

14 14 Programmeren in Java COMPUTERARCHITECTUUR 20 c.add (new JLabel (" flip flop ")); JPanel verzamelvak new JPanel (); verzamelvak.setlayout (new FlowLayout ()); verzamelvak.setbackground (Color.darkGray ); Een rand 14 JButton but new JButton ("Inc"); verzamelvak.add (but ); but.addactionlistener (this); verzamelvak.add (myflip); c.add (verzamelvak );... geen zender settitle ("Flipfloptest"); c.setlayout (new FlowLayout ()); c.setbackground (Color.lightGray ); public void actionperformed (ActionEvent e) { myflip.flip(); 21. Opdracht: 4 Het stoplicht. Maak een variant met drie flipflop s; met een rode een oranje en een groene kleur voor aan of true en grijs voor uit (false). Een extra knop die events genereert waarop de lichten gaan branden in de volgorde: rood, oranje, groen, enz.. Als ze uit staan zijn ze grijs: b.v.: darkgray, gray, lightgray. 22. Computerarchitectuur. Bij de volgende opdrachten vang je drie vliegen in één klap. 1. Je doet wat meer ervaring op met grafisch programmeren. 2. Je raakt vertrouwd met kleine machine-onderdelen, die je in elkaar kunt zetten tot complexe en krachtige machines, zonder dat je daar evenredig meer programmeerkundigheid voor hoeft te hebben. Dat zal nog van pas komen bij volgende bioinformatica-programma s. 3. En passent die je ook nog wat computerarchitectuur op. Na afloop weet je ook hoe een processor optelt, vermenigvuldigt, enz..

15 22 COMPUTERARCHITECTUUR Programmeren in Java 15 flip (a) flipflop (b) bit Fig 8. Diagram van de flipflop en bit. stop Fig 9. 4-bits telregister. Inc Reset telregister Fig 10. Window-ontwerp voor de binaire teller. We zullen de flipflop in grotere strukturen, n.l. (=register s, gebruiken. Daarvoor is het handig om de flipflop voor te stellen met een diagram: Een register is in een computer een reeks van bit s, dat zijn aaneengeschakelde flipflops, die ook nog enkele berekeningen kunnen uitvoeren. Een register stelt een getal voor en de bitoperaties komen overeen met de rekenkundige bewerkingen (,,, /). Het is erg leerzaam om te zien hoe dat werkt. In de eerste plaats komt gewoon tellen neer op een soort voorwaardelijke flip. In de volgende tabel staan de getallen oplopend in binaire representatie. Beschouw de bits van rechts naar links. En stel vast dat een volgend getal, gelijk is aan het vorige, maar dan alle rechter bits, geflipt t.e.m. het eerste bit (meest rechtse) dat gelijk is aan 0 (dus alle 1-en plus een 0).

16 16 Programmeren in Java COMPUTERARCHITECTUUR 22 Dec. getal Binair getal Opdracht: 5 Het bit. Breid de Flipflop-klasse uit tot de klasse Bit, door er een methode add1 aan toe te voegen, die hetzelfde doet als de methode flip, maar bovendien dezelfde message doorstuurt aan een volgende flipflop. De klasse moet daarvoor ook een extra attribuut: hogerbit hebben. Opdracht: 6 Het telregister. Maak een Register als uitbreiding van een JPanel bestaande uit 4 bits, met een increment -methode. Die methode wordt omgezet in een add1 -methode naar het least significant bit (meest rechtse). Maak ook een testapplicatie met een Inc- en een Reset -knop (zie fig. 9). Voor de laatste knop moet de klasse bit ook nog een extra methode makenull krijgen. stop stop 01c 01c 01c 01c 01c Fig 11. Optelregister. Opdracht: 7 De optelregisters. Maak twee register s, waarvan er één een optelregister is. D.w.z. met de methode plus kan bij dat register een ander register worden opgeteld. Daarvoor zijn de bits van het optelregister gekoppeld aan de overeenkomstige bits van het argumentregister. Dat vraagt ook weer om een extra bit-klasse: BitPlus. Die klasse zal behalve een attribuut argbit ook nog extra optelmethoden nodig hebben. Behalve add1 is er ook een add0 en een add met carry ofwel addc nodig.

17 23 INDEX Programmeren in Java 17 Opdracht: 8 Aftrekken met optelregisters. Aftrekken is eigenlijk hetzelfde als optellen: als je A B wilt bepalen, kun je hetzelfde resultaat bereiken door bij A het getal B op te tellen. Dan moet je natuurlijk wel B kunnen berekenen. In twoscomplement-notatie komt dat neer op het inverteren van B, (0 1 en 1 0) en er dan nog 1 bij op te tellen. Piece of cake! Inverteren is een onvoorwaardelijke flip. Voeg aan de binaire rekenmachine de aftrekoperatie toe. 23. Index. ActionEvent 17, 20. ActionListener 17, 20. actionperformed 17, 20. add 5, 6, 7, 8, 10, 12, 13, 15, 17, 20. add met carry 22. addactionlistener 17, 20. addc 22. add0 22. add1 22. argbit 22. args 2, 4. automaten 1. awt 2, 5, 10, 17, 19, 20. bit 22. Bit 22. BitPlus 22. black 14. border 10, 20. Box 12. but 20. CENTER 5. Color 7, 8, 10, 14, 15, 17, 19, 20. Component 2. constructor 5. Container 5, 10, 17, 20. ContentPane 5. createhorizontalstrut 12. createverticalstrut 12. darkgray 20, 21. EAST 5. eindige 1. event 17, 20. Event 18. EXIT ON CLOSE 2, 4. flip 19, 20, 22. flipflop 1, 21, 22. Flipflop 19, 20, 22. Flipfloptest 20. FlowLayout 5, 10, 20. Frame 2. gebeurtenis 1, 17. genefinder 1. get 8. getcontentpane 5, 10, 17, 20. getsource 17, 18. getvariabele 5. grafisch 1. gray 21. green 7, 17, 19. grid 5. GridLayout 11, 12, 17. GUI 2. hogerbit 22.

18 18 Programmeren in Java INDEX 23 HorizontalStrut 12. Inc 22. increment 22. JApplet 2. Java 2. java 2, 5, 10, 17, 19, 20. javatangle 3. javax 2, 5, 10, 17, 19, 20. JButton 7, 13, 17, 19, 20. JFrame 2, 4, 5, 10, 17, 20. JLabel 6, 13, 20. JPanel 11, 12, 20, 22. JTextField 8, 15. kleur 17. knop 7, 17. Knoptest 17. knop1 17. knop2 17. knop3 17. knp 17. Layout 5. LayoutManager 5. Layoutpaneltest 10. least significant 22. LeegVenstertest 2. lightgray 20, 21. LineBorder 14. links 22. maakknop [17]. macro 4. main 2, 4. makenull 22. myflip 20. naam 4. nieuwjframe [4], 5, 10, 17, 20. NORTH 5. opruimer 5. opteller 1. out 17. panel 10, 13. paneltest 10. pink 17. plus 22. println 17. programmeren 1. rechts 22. red 8, 15, 17, 19. Register 22. register 22. Reset 22. resize 5. rooster 5. set 8. setbackground 7, 10, 17, 19, 20. setborder 14. setdefaultcloseoperation 2, 4. setforeground 8, 15. setlayout 5, 10, 11, 12, 17, 20. setsize 2, 4. settext 7, 8, 15, 17. settitle 10, 20. setvariabele 5. setvisible 2, 4. SOUTH 5. stand 19. String 2, 4. Strut 12. swing 2, 5, 10, 17, 19, 20. Swing 2. System 17. tekst 8, 15. telregister 1. Text 8. venster 2, 4.

19 23 NAMES OF THE SECTIONS Programmeren in Java 19 Inc Reset telregister Plus Inc Min Reset Optelregister Fig 12. Window-ontwerp binaire calculator. Venstertest 5. VerticalStrut 12. verzamelvak 10, 11, 12, 13, 14, 15, 20. WEST 5. Window 2. writeln [17]. xval 4. yellow 10. yval 4. Names of the Sections. (Flipflop.java 19) (Flipfloptest.java 20) (Knoptest.java 17) (Layoutpaneltest.java 10) (LeegVenstertest.java 2) (Venstertest.java 5) Een rand 14 Used in sections 10 and 20. Een tekstveld 15 Used in section 10. Junk 13 Used in section 10. Panel van Used in section 10. Panel van 5 2 met Struts 12 Used in section 10. Vensteronderdelen 6, 7, 8 Used in section 5.

Swing.

Swing. Swing joost.vennekens@kuleuven.be Typische applicatie View Model van domein Typische applicatie MVC View Model Controller Belangrijk Strikte scheiding tussen taken Duidelijkere code met minder bugs Herbruikbaarheid

Nadere informatie

Applicaties met een grafische user-interface

Applicaties met een grafische user-interface Hoofdstuk 1 Applicaties met een grafische user-interface 1.1 Het MVC paradigma Om code te verkrijgen die onderhoudbaar en herbruikbaar is, is het van groot belang dat GUI code strikt gescheiden wordt van

Nadere informatie

Wat is een grafische gebruikersinterface (GUI)?

Wat is een grafische gebruikersinterface (GUI)? Wat is een grafische gebruikersinterface (GUI)? GUI is een Engelse afkorting voor Graphical User Interface, oftewel grafische gebruikersinterface. Het is de term voor het bedieningspaneel van een computerprogramma.

Nadere informatie

http://www.liacs.nl/home/kosters/java/

http://www.liacs.nl/home/kosters/java/ sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/

Nadere informatie

voegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is

voegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is PROEF-Tentamen Inleiding programmeren (IN1608WI), X januari 2010, 9.00-11.00, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Open boek tentamen: bij het tentamen mag alleen gebruik worden gemaakt

Nadere informatie

Omschrijf bij ieder onderdeel van de methode de betekenis ervan. Java kent twee groepen van klassen die een GUI kunnen maken: awt en swing.

Omschrijf bij ieder onderdeel van de methode de betekenis ervan. Java kent twee groepen van klassen die een GUI kunnen maken: awt en swing. irkel (met Jpanel) ij de onderstaande opdracht behoort het bestand Panels: JPanels_1.java (map Panel) in de map irkel. pplicaties in Java hebben altijd een publieke klasse waarin een methode main voorkomt.

Nadere informatie

Een stoomcursus door Edgar de Graaf, november 2006

Een stoomcursus door Edgar de Graaf, november 2006 Programmeren in Java Een stoomcursus door Edgar de Graaf, november 2006 Deze tekst geeft een zeer korte inleiding in de programmeertaal Java, uitgaande van kennis van de taal C++. Daarnaast bestudere men

Nadere informatie

public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);

public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak); Vaknaam: Programmeren I (Java) - Tentamen Module: 2 Datum/Tijd: 17 mrt 2015 / 18.30 20:30 Richting: ICT Code: IC011 Docent: E. Lieuw Boeken en aantekeningen NIET toegestaan. Kladpapier is wel toegestaan.

Nadere informatie

Programmeren in Java deel 2

Programmeren in Java deel 2 Programmeren in Java deel 2 Prof. K. Coolsaet Universiteit Gent Vakgroep Toegepaste Wiskunde en Informatica 2006 2007 Inhoud 1. Programmeren van GUIs met Java Swing 1 1.1. Basisconcepten...............................

Nadere informatie

Dynamisch Programmeren. Het Rugzakprobleem

Dynamisch Programmeren. Het Rugzakprobleem INLEIDING Dynamisch Programmeren 1 Dynamisch Programmeren Section Page Inleiding................................................. 1 1 Oplossing................................................ 2 2 Subprobleem.............................................

Nadere informatie

IMP Uitwerking week 13

IMP Uitwerking week 13 IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het

Nadere informatie

Zo vind u hierin de volgende documentatie over de klasse Applet: +----java.awt.panel. +----java.applet.applet

Zo vind u hierin de volgende documentatie over de klasse Applet: +----java.awt.panel. +----java.applet.applet VII. De Java-klassen A. Package Het mooie aan Java is de programmeur een hele serie van klassen en afgeleide klassen geleverd worden, die de programmeur naar behoefte kan gebruiken. De basisklasse van

Nadere informatie

Tentamen Inleiding Programmeren (IN1608WI), 2 februari 2012, 9.00-11.00, Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Tentamen Inleiding Programmeren (IN1608WI), 2 februari 2012, 9.00-11.00, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Tentamen Inleiding Programmeren (IN1608WI), 2 februari 2012, 9.00-11.00, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Gesloten boek tentamen, bij dit tentamen mag je geen gebmik maken van

Nadere informatie

sheets Programmeren 2 Java Recursie, de muis en graphics Walter Kosters http://www.liacs.nl/home/kosters/java/

sheets Programmeren 2 Java Recursie, de muis en graphics Walter Kosters http://www.liacs.nl/home/kosters/java/ sheets Programmeren 2 Java Recursie, de muis en graphics Walter Kosters http://www.liacs.nl/home/kosters/java/ 1 Java intro Voorkennis: dat wat bij het college Programmeren 1 over Java behandeld is; zie

Nadere informatie

Game of Life in Java

Game of Life in Java Game of Life in Java Auteur: drs. M.S.L.F. Manssen http://www.manssen.eu Game of Life is een spel van een rooster van cellen, waarbij telkens een ronde gebeurt waarbij de nieuwe waardes van cellen gebeurt.

Nadere informatie

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Scope van variabelen {3.9} Class ontwerpen en maken,

Nadere informatie

eerste voorbeelden in Java

eerste voorbeelden in Java Beginselen van programmeren 2 eerste voorbeelden in Java vereisten: een editor: om programma in te tikken en te bewaren een Java compiler: zet ingetikte (bron-) programma om naar byte-code een Java Virtuele

Nadere informatie

Lessen Java: Reeks 3. David Blinder Jan G. Cornelis

Lessen Java: Reeks 3. David Blinder Jan G. Cornelis Lessen Java: Reeks 3 David Blinder Jan G. Cornelis Vraag 0: Gebruik van de Debugger Syntax errors: fouten door verkeerd gebruik van Javacommandos code zal niet compileren. Locatie van de fout is bijna

Nadere informatie

public Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B;

public Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B; Beschouw bijvoorbeeld de twee onderstaande klassen, waarvan de attributen en eigenschappen geannoteerd zijn met bijkomende XML-annotaties: using System ; using System. Xml ; using System. Xml. S e r i

Nadere informatie

Opdracht 7a. Applicatiebouw 2014/2015

Opdracht 7a. Applicatiebouw 2014/2015 Applicatiebouw 2014/2015 Opdracht 7a Inhoud Applicatiebouw op dag 7 College In het college wordt oa. overerving behandeld, waarmee je uit een bestaande klasse een nieuwe andere klasse kan maken. Ook zijn

Nadere informatie

Zelftest Programmeren in Java

Zelftest Programmeren in Java Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test

Nadere informatie

sheets Programmeren 1 Java college 6, Walter Kosters De sheets zijn gebaseerd op met name hoofdstuk 13 en 14 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/

Nadere informatie

Hst 1 Klassen en methoden

Hst 1 Klassen en methoden Onderzoekscompetenties Introductie tot java Proeven uitwerken en presenteren Hst 1 Klassen en methoden De bedoeling van dit eerste hoofdstuk is om een eerste programmaatje te schrijven, en om een aantal

Nadere informatie

De sheets zijn gebaseerd op met name hoofdstuk. D. Bell en M. Parr, Java voor studenten, Prentice Hall,

De sheets zijn gebaseerd op met name hoofdstuk. D. Bell en M. Parr, Java voor studenten, Prentice Hall, sheets Programmeren 1 Java college 4, Walter Kosters De sheets zijn gebaseerd op met name hoofdstuk 8 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/

Nadere informatie

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double. Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort

Nadere informatie

Java Objectgeoriënteerd ontwerpen en programmeren

Java Objectgeoriënteerd ontwerpen en programmeren Aan de slag met Java Objectgeoriënteerd ontwerpen en programmeren Gertjan Laan + ONLINE OEFENINGEN Vierde druk Aan de slag met Java Vierde druk Gertjan Laan Meer informatie over deze en andere uitgaven

Nadere informatie

Programmeren in Java les 3

Programmeren in Java les 3 4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een

Nadere informatie

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

Nadere informatie

X. Grafische elementen

X. Grafische elementen X. Grafische elementen Om u te helpen bij grafische voorstellingen heeft java een aantal grafische afbeeldingen die u kunt gebruiken. Meestal worden zij in de methode paint(graphics g) geplaatst. Zij moeten

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde

Nadere informatie

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int

Nadere informatie

SPOJ oplossingen Gilles Callebaut 7 augustus 2015

SPOJ oplossingen Gilles Callebaut 7 augustus 2015 SPOJ oplossingen 2012-2013 Gilles Callebaut 7 augustus 2015 DISCLAIMER Oefeningen zijn niet altijd correct of optimaal. Gelieve de oefeningen enkel te gebruiken ter ondersteuning. Van kopiëren leer je

Nadere informatie

Tutorial 1, Delphi: Geldspraak

Tutorial 1, Delphi: Geldspraak Tutorial 1, Delphi: Geldspraak Versie Datum Auteurs Opmerkingen 1 25-09-2001 Kees Hemerik (code) Gebaseerd op Delphi 5 Enterprise. Roel Vliegen (tekst) 2 17-03-2005 Kees Hemerik Aanpassingen: Delphi 7,

Nadere informatie

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag u gebruik maken van: Barnes, Object-Oriented Programming with Java en de Notitie Algoritmiek

Nadere informatie

II. ZELFGEDEFINIEERDE FUNCTIES

II. ZELFGEDEFINIEERDE FUNCTIES II. ZELFGEDEFINIEERDE FUNCTIES In Excel bestaat reeds een uitgebreide reeks van functies zoals SOM, GEMIDDELDE, AFRONDEN, NU enz. Het is de bedoeling om functies aan deze lijst toe te voegen door in Visual

Nadere informatie

Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur

Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur 1. (2 punten per deelvraag) Deze opgave bestaat uit een aantal tekstvragen. Houd het antwoord kort: een

Nadere informatie

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 7 november 2014, uur

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 7 november 2014, uur Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 7 november 2014, 8.30-10.30 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in

Nadere informatie

Labo 2 Programmeren II

Labo 2 Programmeren II Labo 2 Programmeren II L. Schoofs K. van Assche Gebruik Visual Studio 2005 om een programma te ontwikkelen dat eenvoudige grafieken tekent. Deze opgave heb je vorig academiejaar reeds in Java geïmplementeerd.

Nadere informatie

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Vrijdag 22 januari 2010 Toelichting Dit is een open boek tentamen. Communicatie en het gebruik van hulpmiddelen zijn niet toegestaan.

Nadere informatie

Hoofdstuk 1: Een eerste Visual Basic project

Hoofdstuk 1: Een eerste Visual Basic project Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, februari 2001 Hoofdstuk 1: Een eerste Visual Basic

Nadere informatie

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten

Nadere informatie

Programmeren in Java 3

Programmeren in Java 3 26 september 2007 Deze les korte herhaling vorige les Unified Modelling Language notatie van een class afleiding pointers abstracte classes polymorphisme dubieuze(?) constructies interfaces Meer over class

Nadere informatie

Bouw van een interactief prototype van een Userinterface met Eclipse/Java

Bouw van een interactief prototype van een Userinterface met Eclipse/Java Bouw van een interactief prototype van een Userinterface met Eclipse/Java Eclipse is een ontwikkelplatform (IDE) voor het maken van oa. applicaties en websites. Wij hebben als voorbeeld een Nederlandstalige

Nadere informatie

Klassen & objecten, overerving, abstracte klassen, debuggen, interfaces, formulieren, polymorfie, statische methoden, event-handlers

Klassen & objecten, overerving, abstracte klassen, debuggen, interfaces, formulieren, polymorfie, statische methoden, event-handlers 1 Inhoud Klassen & objecten, overerving, abstracte klassen, debuggen, interfaces, formulieren, polymorfie, statische methoden, event-handlers 2 Geluidsbronnen simulator, deel 2 Inleiding De weergave versnellen

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 13 december 2013 Terugblik Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5));

Nadere informatie

Imperatief Programmeren, derde deeltentamen (INFOIMP) 4 november 2005

Imperatief Programmeren, derde deeltentamen (INFOIMP) 4 november 2005 Departement Informatica en Informatiekunde, Faculteit Bètawetenschappen, UU. In elektronische vorm beschikbaar gemaakt door de TBC van A Eskwadraat. Het college INFOIMP werd in 2005/2006 gegeven door Jeroen

Nadere informatie

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele Informatica Objectgeörienteerd leren programmeren Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode Objectgeörienteerd

Nadere informatie

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit

Nadere informatie

NAAM: Programmeren 1 Examen 29/08/2012

NAAM: Programmeren 1 Examen 29/08/2012 Programmeren 29 augustus 202 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet je

Nadere informatie

Zelfstudie Boek: Hoofdstuk 1 tm. 3.5 uit het boek Aan de slag met Java (Gertjan Laan).

Zelfstudie Boek: Hoofdstuk 1 tm. 3.5 uit het boek Aan de slag met Java (Gertjan Laan). Applicatiebouw 2015/2016 Opdracht 1 Inhoud Applicatiebouw op dag 1 College Bij het college wordt een inleiding gegeven over computers, het programmeren van klassen en objecten in Java en de ontwikkelomgeving

Nadere informatie

Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing

Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing Introductie In dit document geven we een mogelijke oplossing voor het eerste practicum. Deze oplossing gebruikt verschillende klassen en overerving,

Nadere informatie

Lezen tussen dag 2 en dag 3 Boek: Hoofdstuk 3 en 4 tm. 4.2 uit het boek Aan de slag met Java (Gertjan Laan).

Lezen tussen dag 2 en dag 3 Boek: Hoofdstuk 3 en 4 tm. 4.2 uit het boek Aan de slag met Java (Gertjan Laan). Applicatiebouw 2015/2016 Opdracht 2 Inhoud Applicatiebouw op dag 2 College In het college worden de belangrijkste taalelementen van de Java programmeertaal benoemd. Je maakt kennis met numerieke data en

Nadere informatie

APPLICATIEBOUW 2E COLLEGE: ONTWERPEN, GEBRUIKERSINTERFACES, VARIABELEN & EXPRESSIES. Onderdeel van SmartProducts

APPLICATIEBOUW 2E COLLEGE: ONTWERPEN, GEBRUIKERSINTERFACES, VARIABELEN & EXPRESSIES. Onderdeel van SmartProducts APPLICATIEBOUW 2E COLLEGE: ONTWERPEN, GEBRUIKERSINTERFACES, VARIABELEN & EXPRESSIES Onderdeel van SmartProducts INHOUD COLLEGE 2 module4.io.utwente.nl/applicatiebouw Software ontwerpen Gebruikersinterfaces,

Nadere informatie

SYNTRA-WEST. Initiatiecursus JAVA. Deel

SYNTRA-WEST. Initiatiecursus JAVA. Deel SYNTRA-WEST Initiatiecursus JAVA Deel Syntra-West Syntra-West (vroeger Vormingsinstituut West-Vlaanderen) Doorniksesteenweg 220 8500 Kortrijk Tel. 056/26.02.00 Fax 056/22.81.07 i Inhoudsopgave SYNTRA-WEST...

Nadere informatie

Extra oefening Boek: Neem de opgaven van hoofdstuk 1 en 2 door om je de stof beter eigen te maken. Programmeer zelf voorbeeld 0204.

Extra oefening Boek: Neem de opgaven van hoofdstuk 1 en 2 door om je de stof beter eigen te maken. Programmeer zelf voorbeeld 0204. Applicatiebouw 2014/2015 Opdracht 1 Inhoud Applicatiebouw op dag 1 College Bij het college wordt een inleiding gegeven over computers, het programmeren van klassen en objecten in Java en de ontwikkelomgeving

Nadere informatie

Vraag 1: Software Levenscyclus

Vraag 1: Software Levenscyclus EXAMEN SOFTWAREONTWIKKELING II 2 DE BA. INFORMATICA EERSTE EXAMENPERIODE ACADEMIEJAAR 2012 2013, SESSIE 1 Vrijdag 7 juni, 2012, 8u30 Naam : Opmerkingen vooraf (i) (ii) Je wordt niet verondersteld de Java-API

Nadere informatie

Windows-applicatie. using System.Windows.Forms; using System.Drawing; class HalloWin1 { static void Main ( )

Windows-applicatie. using System.Windows.Forms; using System.Drawing; class HalloWin1 { static void Main ( ) Windows-applicatie using System.Windows.Forms; using System.Drawing; class HalloWin1 { static void Main ( ) { Form scherm; declaratie en toekenning van een variabele met type Form scherm = new Form( );

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 13 november 2015 Expressies Functies Ingebouwde functies Variabelenbereik Inleveropgave 1 Terugblik Programma is een lijst van opdrachten Terugblik Programma is

Nadere informatie

Abstracte klassen & Interfaces

Abstracte klassen & Interfaces Abstracte klassen & Interfaces Overerving public class Vierhoek {... Vierhoek public class Rechthoek extends Vierhoek {... public class Ruit extends Vierhoek {... Rechthoek Ruit Elke rechthoek is een vierhoek.

Nadere informatie

Voor het bepalen van de getalswaarde van een string is een standaardmethode beschikbaar: n = Integer.parseInt(s);

Voor het bepalen van de getalswaarde van een string is een standaardmethode beschikbaar: n = Integer.parseInt(s); Uitwerking tentamen Imperatief Programmeren 20 december 2001 Cursieve opmerkingen behoren niet tot het antwoord, maar vormen een toelichting daarop. Die hoefden bij beantwoording van de vragen er niet

Nadere informatie

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Software specificaties (DPU1) Object georiënteerd programmeren,

Nadere informatie

VAN HET PROGRAMMEREN. Inleiding

VAN HET PROGRAMMEREN. Inleiding OVERZICHT VAN HET PROGRAMMEREN Inleiding Als je leert programmeren lijkt het nogal overweldigend om die eerste stappen te doorworstelen. Er zijn dan ook heel wat programmeertalen (Java, Ruby, Python, Perl,

Nadere informatie

Technical Computing. Technical Computing Team emazing 1

Technical Computing. Technical Computing Team emazing 1 Technical Computing Beschrijving van het opgeleverde product Om de kaarten uit te lezen hebben we gebruik gemaakt van een TCP-server en Java framework. Van het framework hebben we een werkende smartcardreader

Nadere informatie

Programmeren (1) Examen NAAM:

Programmeren (1) Examen NAAM: Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien) en geef zowel klad als net af. Bij heel wat vragen moet je zelf Java-code schrijven. Hou dit kort en bondig. Je hoeft

Nadere informatie

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin: Java Les 2 Theorie Beslissingen Algemeen Net als in het dagelijks leven worden in software programma s beslissingen genomen, naast het toekennen van waarden aan variabelen zijn beslissingen één van de

Nadere informatie

Variabelen en statements in ActionScript

Variabelen en statements in ActionScript Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer

Nadere informatie

10 Exception handling

10 Exception handling 10.1 Inleiding Onder de term exception handling (afhandelen van uitzonderingen) verstaan we het op een systematische manier verwerken van fouten en andere uitzonderingssituaties die zich tijdens het draaien

Nadere informatie

Programmeren in Java 3

Programmeren in Java 3 7 maart 2010 Deze les Zelf componenten maken Concurrency (multithreading): werken met threads levenscyclus van een thread starten tijdelijk onderbreken wachten stoppen Zelf componenten maken Je eigen component:

Nadere informatie

Hoofdstuk 7: Werken met arrays

Hoofdstuk 7: Werken met arrays Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, januari 2004 Hoofdstuk 7: Werken met arrays 7.0 Leerdoel

Nadere informatie

Overerving & Polymorfisme

Overerving & Polymorfisme Overerving & Polymorfisme Overerving Sommige klassen zijn speciaal geval van andere klasse Docent is een speciaal geval van werknemer, dwz. elke docent is ook werknemer Functionaliteit van docent = functionaliteit

Nadere informatie

Hoofdstuk 1: Een eerste Visual Basic project

Hoofdstuk 1: Een eerste Visual Basic project Programmeren in Microsoft Visual Basic 2010 Express, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Vespucci College, Marnix Gymnasium Rotterdam, december 2011 Hoofdstuk

Nadere informatie

public boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber

public boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden

Nadere informatie

Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft

Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft I ' Tentamen Objectgeorienteerd Programmeren TI 1200 1 februari 2012 9.00-12.00 Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit

Nadere informatie

Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur

Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, 8.30-10.30 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde

Nadere informatie

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic

Nadere informatie

BEGINNER JAVA Inhoudsopgave

BEGINNER JAVA Inhoudsopgave Inhoudsopgave 6 Configuratie Hallo wereld! Praten met de gebruiker Munt opgooien Voorwaarden Lussen......6 Configuratie Met deze Sushi kaarten ga je een simpel spel maken met één van de meest populaire

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

DIAGNOSTISCHE TOETS Softwaresystemen UITWERKING

DIAGNOSTISCHE TOETS Softwaresystemen UITWERKING DIAGNOSTISCHE TOETS Softwaresystemen datum: Donderdag van Week 7 UITWERKING Deze diagnostische toets bevat vragen over excepties en concurrency. Beantwoord de vragen zo goed mogelijk in 30 minuten Bespreek

Nadere informatie

Scripting 2 TUTORIAL EEN APP ONTWIKKELEN VOOR ANDROID MET PROCESSING. ellipse(screenwidth/2, screenheight/2, 140,140); DOOR THIERRY BRANDERHORST

Scripting 2 TUTORIAL EEN APP ONTWIKKELEN VOOR ANDROID MET PROCESSING. ellipse(screenwidth/2, screenheight/2, 140,140); DOOR THIERRY BRANDERHORST Scripting 2 ellipse(screenwidth/2, screenheight/2, 140,140); TUTORIAL EEN APP ONTWIKKELEN VOOR ANDROID MET PROCESSING. DOOR THIERRY BRANDERHORST ANDROID APPLICATIES Tegenwoordig zijn er duizenden applicaties

Nadere informatie

DELPHI VOOR ELEKTRONICI. Deel 2: Een rekenmachine programmeren CURSUS

DELPHI VOOR ELEKTRONICI. Deel 2: Een rekenmachine programmeren CURSUS DELPHI VOOR ELEKTRONICI CURSUS Deel 2: Een rekenmachine programmeren Herman Bulle met dank aan Anton Vogelaar In het vorige artikel hebben we de programmeeromgeving van Delphi geïntroduceerd en zijn er

Nadere informatie

Objectgericht programmeren 1.

Objectgericht programmeren 1. Objectgericht programmeren 1 joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost/dn Objectgericht ontwerpen 35% Objectgericht ontwerpen 65% OP1 Informatiesystemen 50% Databanken 50% OP1 Evaluatie

Nadere informatie

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, uur

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, uur Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, 11.00-13.00 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde

Nadere informatie

Een eerste applicatie

Een eerste applicatie Een eerste applicatie 2.1 Inleiding Programmeren in Visual Basic.NET doe je niet alleen door regels met code te schrijven. Je begint met het ontwerpen van een venster in de design mode met allerlei controls,

Nadere informatie

Handleiding Word Press voor de bewoners Westerkaap 1

Handleiding Word Press voor de bewoners Westerkaap 1 1 Handleiding Word Press voor de bewoners Westerkaap 1 Inhoud: Inloggen Pagina 1 Algemeen Pagina 2 Berichten Pagina 2 Bericht bewerken, Linken Pagina 3-4 Plaatje toevoegen bericht Pagina 5-6 Bericht publiceren

Nadere informatie

Grafisch programmeren met GTK

Grafisch programmeren met GTK LinuxFocus article number 295 http://linuxfocus.org Grafisch programmeren met GTK door Özcan Güngör Over de auteur: Sinds 1997 gebruik ik Linux. Vrijheid, flexibiliteit en

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 27 november 2015 Recursie Objecten Constructors Aanpassen variabelen this keyword Recursie Recursie Recursieve functie roept zichzelf (direct of indirect) aan

Nadere informatie

PO: Informatica Olympiade 2013-2014

PO: Informatica Olympiade 2013-2014 PO: Informatica Olympiade 2013-2014 Wat is de Informatica Olympiade? De Nederlandse Informatica Olympiade (NIO) is een programmeerwedstrijd voor de bovenbouw van het Voortgezet onderwijs. Het is een onderdeel

Nadere informatie

2. Optellen en aftrekken van gelijknamige breuken

2. Optellen en aftrekken van gelijknamige breuken 1. Wat is een breuk? Een breuk Een breuk is een verhoudingsgetal. Een breuk geeft aan hoe groot een deel is van een geheel. Stel een taart is verdeeld in stukken. Je neemt 2 stukken van de taart. Je hebt

Nadere informatie

Robocode. Inleiding tot programmeren

Robocode. Inleiding tot programmeren Robocode Inleiding tot programmeren Inhoud Doel cursus Java-controlestructuren Robotje programmeren Doel cursus Inleiding Java Robocode Java Object-gerichte programmeertaal Sun 1991 http://java.sun.com

Nadere informatie

Programmeren 1 20 januari 2012 Prof. T. Schrijvers

Programmeren 1 20 januari 2012 Prof. T. Schrijvers Programmeren 1 20 januari 2012 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 25 november 2015 Herhaling Meer herhaling Recursie Mutuele recursie Objecten Herhaling Fibonacci class Fibonacci { public static void fibonaccitot(int bovengrens)

Nadere informatie

Hoe moet je een prachtige presentatie maken?

Hoe moet je een prachtige presentatie maken? Hoe moet je een prachtige presentatie maken? www.meestermichael.nl Geef de presentatie een titel. Klik dit vak aan om jouw presentatie een ondertitel te geven. Hier kun je je presentatie een titel geven

Nadere informatie

Cursus Onderwijs en ICT. Programmeren met Visual Basic

Cursus Onderwijs en ICT. Programmeren met Visual Basic Cursus Onderwijs en ICT Jaargang 2, deel 23 (versie 1.0 NL 2-7-2011) Programmeren met Visual Basic door Serge de Beer Inleiding In sommige gevallen biedt het aanbod op de softwaremarkt niet wat je zoekt.

Nadere informatie

Verslag. Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers

Verslag. Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers Verslag SE Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers In dit verslag zullen wij een beschrijving geven, over welke

Nadere informatie

Inhoud. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 12

Inhoud. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 12 Inhoud Introductie 2 Opgaven 3 Terugkoppeling 12 1 Objectgeoriënteerd programmeren in Java 1 I N T R O D U C T I E Deze eindtoets is bedoeld als voorbereiding op het tentamen van de cursus Objectgeoriënteerd

Nadere informatie

Uitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur

Uitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur Uitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, 8.30-10.30 uur 1. Een Intent-object wordt gebruikt voor communicatie (a) van een Activity naar een bijbehorende View

Nadere informatie

Syntax van opdracht. opdracht. expressie. variabele. = expressie ; klasse naam. methode naam. property naam += object

Syntax van opdracht. opdracht. expressie. variabele. = expressie ; klasse naam. methode naam. property naam += object Syntax van opdracht opdracht klasse naam methode naam ( expressie ) ; object expressie. property naam +=, variabele = expressie ; Static gewone methoden Bewerken een object Aanroep: object. methode ( )

Nadere informatie

6.2 VBA Syntax. Inleiding Visual Basic

6.2 VBA Syntax. Inleiding Visual Basic 6.2 VBA Syntax Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. Klik te tab Hulpmiddelen voor databases Klik op Maken Macro s en Code -

Nadere informatie

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. 1 Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. Voordat je leert programmeren, moet je jouw pc zo instellen dat

Nadere informatie