0HURP'DOJRULWPHU-DYDOD\RXW GXEEHOEXIIULQJPP ) UHOlVQLQJ. ,QQHKnOO

Storlek: px
Starta visningen från sidan:

Download "0HURP'DOJRULWPHU-DYDOD\RXW GXEEHOEXIIULQJPP ) UHOlVQLQJ. ,QQHKnOO"

Transkript

1 0HURP'DOJRULWPHU-DYDOD\RXW GXEEHOEXIIULQJPP ) UHOVQLQJ,QQHKnOO ²0HURP'DOJRULWPHU ²-DYDPHURPNRPSRQHQWHUOD\RXWGXEEHOEXIIULQJ PP.RRUGLQDWV\VWHPRFKNRRUGLQDWHU 9DQOLJHQMREEDUYLL&DUWHVLVNDNRRUGLQDWHU ² 9LVVDÃV\VWHPÃKDUÃRULJRÃQHUHÃWLOOÃYQVWHU ² DQGUDÃXSSHÃWLOOÃYQVWHU 9UOVGNRRUGLQDWHU ² buãgrpãnrruglqdwhuãylãdqyqghuãlãynudãdssolndwlrqhu ² +UÃEU\UÃYLÃLQWHÃRVVÃRPÃKXUÃYLONDÃSL[ODUÃSnÃVNUPHQÃVRPÃNRPPHU UHSUHVHQWHUDÃGHP 6NUPNRRUGLQDWHUHQKHWVNRRUGLQDWHU ² 'HÃNRRUGLQDWHUÃVRPÃYHUNOLJHQÃUHSUHVHQWHUDUÃSXQNWHUÃSnÃVNUPHQ HQKHWHQ 1RUPDOLVHUDGHNRRUGLQDWHU ² 2IWDÃQRUPDOLVHUDVÃNRRUGLQDWHUQDÃYLGÃ YHUVWWQLQJÃIUnQ YUOGVNRRUGLQDWHUÃLQQDQÃXWULWQLQJÃÃVNHU ² 1RUPDOLVHUDGHÃNRRUGLQDWHUÃGYVÃNRRUGLQDWHUÃWLOOK UDQGHÃ>Ã@ ² 'HWWDÃJ UÃDWWÃYLVVDÃWUDQVIRUPDWLRQHUÃNDQÃVNHÃREHURHQGHÃDYÃXWHQKHW %M UQ(LGHUEFN 1

2 ) QVWHURFKY\HU (WWI QVWHULI QVWHUKDQWHUDUPHQLQJEUXNDU RIWDGHODVLQLGHOY\HUYLHZSRUWV,YDUMHYLHZSRUWMREEDUPDQPHGHWWORNDOW NRRUGLQDWV\VWHPI QVWUHWKDURFNVnHWW NRRUGLQDWV\WHP - 3-9LVXDOLVHULQJVSLSHOLQH Konstruera scen i värdskoordinater Normaisera vykoordinaterna Modeering Översätt ti utritnings-koord Normaisera Vykoordinater Översätt värdskoordinater utritningskoordinatsystem (tex genom att ba vrida värskoordinatsystemet) Översätt ti respektive vys koordinater %M UQ(LGHUEFN 2

3 «PHUJHQHUHOOW Konstruera grafiska modeer och programmera Omvanda objekten ti pixevärden Modeering Geometr. transf. Rastrering Visuaisering Vika objekt finns på skärmen, hur färgas och skuggas dom normaisera, kipp, ta bort skymda injer, skugga Rita ut, ta eventuet bort taggighet (antiaiasing) OLSSQLQJ 'npdqnrqvwuxhuduhwwi QVWHUDWWULWDL EUXNDUHOOHUNDQPDQRFNVnDQJH NOLSSUHNWDQJODU ² 'YVDQJHGRPRPUnGHQGUREMHNWHQVNDOOV\QDV 2EMHNWXWDQI UHOOHUGHOYLVXWDQI UµNOLSSVµPRWRPUnGHW %M UQ(LGHUEFN 3

4 .OLSSRSHUDWLRQHU 9LEHK YHUNOLSSDERUWRPUnGHQVRPUXWDQI U HQYLVVWI QVWHU ² (OOHULEODQGPHUJHQHUHOODRPUnGHQ 2OLNDW\SHUDYNOLSSDOJRULWPHU ² 3XQNWNOLSSQLQJ ² /LQMHNOLSSQLQJ ² <WNOLSSQLQJ ².XUYNOLSSQLQJ ² 7H[WNOLSSQLQJ OLSSQLQJDYOLQMHVHJPHQWL' (QNOLSSDOJRULWPDYJ UYLONDSULPLWLYHUHOOHU GHODUDYGHPVRPVNDOOULWDVSnVNUPHQ %M UQ(LGHUEFN 4

5 &RKHQ6XWKHUODQG 9LGHODULQVNUPHQLRPUnGHQNULQJHWWUHNWDQJXOUWI QVWHU 6QDEEDUXSSEHKDQGOLQJHQDYOLQMHVHJPHQWJHQRPDWWLQLWLDOW UHGXFHUDDQWDOHWVNUQLQJDUVRPPnVWHEHUNQDV 'HQI UVWDDOJRULWPHQVRPI UV NWHHUVWWDNRVWVDPPD PXOWLSOLNDWLRQHURFKGLYLVLRQHUPHGHQNRPELQDWLRQDY IO\WWDOVVXEWUDNWLRQRFKELWRSHUDWLRQHU 'HODXSSI QVWUHWLQLRRPUnGHQPLWWHUVWDI QVWUHWGHWLQUHDY NOLSSUHNWDQJHOQ 9DUMHWLOOGHODVXQLNELWDUVVHNYHQV ² UHVSHNWLYHÃELWÃVWnUÃI U 1001 över, under, höger, vänster DOJRULWPVNLVV *LYHWc1 = kod(p1)rfkc2 = kod(p2)gup1rfkp2 SXQNWHU c1 = c2 = 0 EnGDÃSXQNWHUQDÃLQQDQI UÃPLWWHUVWDÃI QVWUHW c1 0RFKc2 = 0HOOHUYLFHYHUVD HQÃSXQNWÃLQQHÃHQÃXWHÃNRGHQÃLQGLNHUDUÃYLONHQÃGHOÃVRPÃUÃXWDQI UÃRFK YLONHQÃVRPÃUÃLQQDQI U EHUNQDÃVNUQLQJÃRFKÃJ UÃRPÃPHGÃQ\ÃNRG c1 && c2 0ELWYLVWORJLVNWRFK EnGDÃSXQNWHUQDÃOLJJHUõSnÃVDPPDÃVLGDµ c1 && c2 = 0 EnGDÃSXQNWHUQDÃXWDQI UÃPHQÃSnÃROLNDÃVLGRU NROODÃVNUQLQJÃEHUNQDÃQ\ÃNRGÃRFKÃJ UÃRP %M UQ(LGHUEFN 5

6 /LDQJ%DUVN\ 0HG&RKHQ6XWKHUODQGEHK YHUYLVSHFLDOEHKDQGOD YHUWLNDODOLQMHUSnIRUPHQy = mx + h /LDQJ%DUVN\XQGYLNHUSUREOHPHWJHQRPDWWDQYQGD SDUDPHWHUIRUPI UOLQMHUQDLVWOOHW p( α ) (1 α ) p + α = 1 8GHUV NαYUGHQLVNUQLQJDUPHGNOLSS\WDQ α1 α2 α3 α4 α α3 p 2 α2 α4 XUVDPEDQGHQ x y w w min min x α x x NDQWH[αI UNOLSSQLQJPRW\ PD[ InVXU y w y max 1 α = y OLNDGDQDHNYDWLRQHUNDQInVIUnQGRPWUHDQGUD NDQWHUQD w y + α y y max w max 0 α 1 %M UQ(LGHUEFN 6

7 Viket medför att det hea kan skrivas αp p p p p k q k, = x, = x, = y, = y, k = 1,2,3,4 q q q 1 q = x 1 = x = = y y 1 x w w max y max w min x w 1 min y 1 och för varje p k skijt från no α = q p k k ([HPSHO %M UQ(LGHUEFN 7

8 .OLSSQLQJPRWLFNHUHNWDQJXOUDI QVWHU %ngh/ldqj%duvn\vrfk&\uxv%hfnvdojrulwphu NDQHQNHOWXWYLGJDVWLOONOLSSQLQJPRWJHQHUHOOD NRQYH[DSRO\JRQHU ) UGHWWDQGDPnONDQNRQNDYDSRO\JRQHUYLG EHKRYRPYDQGODVWLOONRQYH[D &LUNODURFKDQGUDILJXUHUEHVNULYQDDYNXUYRUU P MOLJDPHQIRUGUDUIOHUEHUNQLQJDU PYDQGOLQJDYNRQNDYDWLOONRQYH[DSRO\JRQHU V 6 E 6 E 1 V 1 V 2 E 5 V 5 E 2 E 4 V 3 E3 V4 Ta kryssprodukter för aa intiiggande kanter Om aa kanter har samma tecken så är poygonen konvex annars konkav (E 1 E 2 ) > 0 (E 2 E 3 ) < 0 (E 3 E 4 ) > 0 (E 4 E 5 ) > 0 (E 5 E 6 ) > 0 (E 6 E 1 ) > 0 Oika tecken atså konkav För att göra poygonen konvex spittar vi ängs första kanten som ger E 6 negativt tecken och vi får två poygoner E 1 V 1 V V 6 E 5 E 2 V 3 E3 V 5 E 4 V4 %M UQ(LGHUEFN 8

9 .OLSSQLQJDYSRO\JRQHU.OLSSPRWNDQWLNOLSSUHNWDQJHOQLWDJHW XWKHUODQG+RGJHPDQ Föj kanterna på poygonen och kipp mot en kant i taget V 1 V 1 V 2 V 2 V 2 V 1 ut in spara V 1, V 2 V 3 in in spara V 3 V 4 V 3 V 3 in ut spara V 3 Förbättring: Vi kan eiminera vertexista genom att skicka vidare varje kant ti nästa "kippare" V 4 ut ut spara ingen %M UQ(LGHUEFN 9

10 SUREOHP Kippning av konkava poygoner kan ge sammanhängande kanter som inte finns :HLOHU$WKHUWRQ En ösning på föregående probem är att använda Weier-Athertons agoritm. om man går från en punkt utanför kipprektangen ti en innanför föjer man poygonkanten men föjer fönsterkanten medurs om man går innefrån och ut V 3 V 1 V 1 V 4 V 3 V 2 V %M UQ(LGHUEFN 10

11 $QGUDW\SHUDYREMHNW $QYQGI UVWRPVOXWDQGHUHNWDQJHOHOOHU XWVWUFNQLQJJHQHUHOOUHJHO.OLSSQLQJLIUDPHEXIIHUWHQ ² 2IWDVWEWWUHDWWNOLSSDLQQDQREMHNWHQLIUDPHEXIIHUWHQ ² EHK YVYDQOLJHQEDUDI UREMHNWDYW\SUDVWHU /D\RXW LayoutManager BorderLayout GridBagLayout GridLayout CardLayout FowLayout %M UQ(LGHUEFN 11

12 )ORZ/D\RXW ² UÃGHIDXOWÃI UÃ3DQHOREMHNW ² SODFHUDUÃNRPSRQHQWHUÃIUnQÃYQVWHUÃWLOOÃK JHUÃ9LGÃIXOOÃUDGÃVnÃQ\ÃUDG *ULG/D\RXW ² VHUÃWLOOÃDWWÃDOODÃNRPSRQHQWHUÃKDUÃVDPPDÃVWRUOHNÃ5XWQWÃUDGÃNROXPQ %RUGHU/D\RXW ² UÃGHIDXOWÃI UÃ:LQGRZNODVVHUÃH[Ã)UDPHÃRFKÃ'LDORJ ² 3ODFHUDUÃNRPSRQHQWHUÃLõYGHUVWUFNµ &DUG/D\RXW ² 3ODFHUDUÃREMHNWHQÃLÃHQõNRUWOHNµÃGUÃHQGDVWÃHWWÃNRUWÃLÃWDJHWÃV\QOLNW *ULG%DJ/D\RXW ² 0HVWÃJHQHUHOOÃRFKÃNRPSOH[Ã'HODUÃLQÃ\WDQÃLÃIOHUDÃFHOOHU ² $QYQGHUÃUHVWULNWLRQHUÃHQJÃFRQVWUDLQWVÃI UÃDWWÃEHVNULYD KXUÃNRPSRQHQWHUÃSODFHUDVÃVDPWÃGHUDVÃXWVWUFNQLQJ ([HPSHO)ORZOD\RXW import java.awt.*; import java.appet.*; pubic cass DemoFowayout extends Appet { Button buttons[]; pubic void init() { super.init(); setlayout(new FowLayout()); buttons = new Button[10]; for (int i = 0; i < 10; i++) { buttons[i] = new Button("Knapp " + i); add(buttons[i]); %M UQ(LGHUEFN 12

13 /D\RXWHQµI OMHUPHGµI UQGULQJDUDY I QVWHUVWRUOHN ([HPSHO*ULGDO\RXW import java.awt.*; import java.appet.*; pubic cass DemoGridayout extends Appet { Button buttons[]; pubic void init() { super.init(); setlayout(new GridLayout(5, 2)); buttons = new Button[10]; for (int i = 0; i < 10; i++) { buttons[i] = new Button("Knapp " + i); add(buttons[i]); %M UQ(LGHUEFN 13

14 ([HPSHO%RUGHUOD\RXW import java.awt.*; import java.appet.*; pubic cass DemoBorderayout extends Appet { pubic void init() { super.init(); resize(300, 400); setlayout(new BorderLayout()); add("north", new Button("Knapp " + "Norr"));; add("south", new Button("Knapp " + "Söder"));; add("east", new Button("Knapp " + "Öster"));; add("west", new Button("Knapp " + "Väster"));; add("center", new Button("Knapp " + "Centrum"));; HWRGHUI UDWWKDQWHUDNRPSRQHQWHU I UXWRPOD\RXWNDQNRPSRQHQWHURFNVnEOD ² YLVDVHOOHUG OMDV VHW9LVLEOHERROHDQ ² J UDVDNWLYDHOOHUSDVVLYD VHW(QDEOHGERROHDQ ² RPULWDVULWDVHOOHUPDUNHUDVVRP NRUUXSWDµ UHSDLQWÃSDLQW*UDSKLFVÃLQYDOLGDWH ² OD\RXWNDQDQJHVI UFRQWDLQHUEDVHUDGH ² I QVWHUNDQYLVDVOJJDVLI UHOOHUEDNJUXQGHQWLWHONDQDQJHV PP VKRZÃWR)URQWÃWR%DFN ² FXUVRUNDQQGUDV ² VWRUOHNNDQJHVWQNSnOD\RXWQXOO ² %M UQ(LGHUEFN 14

15 %ODQGDWH[HPSHO import java.awt.*; import java.awt.event.*; pubic cass TestOfFrame extends Frame { pubic TestOfFrame(String s) { super(s); protected void deay(int ms) { // Vi måste ta hand om exceptions, viket görs med ett try-catch-par try{ Thread.currentThread().seep(ms); catch(exception e) { protected void testlayoutes() { /* Lite urartat visar vi hur man kan fråga om komponenter. I det här faet vet vi att det är en Container och "kastar" */ Container pane = (Container) this.getcomponents()[0]; int deaytime = 3000; deay(deaytime); pane.setlayout(new GridLayout(5, 4, 10, 20)); this.settite("gridayout"); this.vaidate(); deay(deaytime); pane.setlayout(new FowLayout(FowLayout.LEFT, 7, 7)); this.settite("fowayout"); this.vaidate(); %M UQ(LGHUEFN 15

16 Component[] panecomponents = pane.getcomponents(); for (int i = 0; i < panecomponents.ength; i++) { Component component = panecomponents[i]; component.setbounds((i % 5) * 40, i * 25, 50, 20); deay(deaytime); pane.setlayout(nu); this.settite("nu ayout"); this.vaidate(); pubic static void main(string args []){ TestOfFrame frame = new TestOfFrame("Test of frame ayout"); Pane pane; frame.addwindowlistener(new WindowAdapter(){ pubic void windowcosing(windowevent e) { System.exit(0); ); frame.setsize(200, 300); frame.show(); // Vi skapar en pane för att automatiskt få objekten utpacerade med pane = new Pane(); frame.add(pane); %M UQ(LGHUEFN 16

17 //Vi skapar några knappar for (int i = 0; i < 10; i++) { Button button = new Button("Button-" + new Integer(i).toString()); pane.add(button); // Aa knappar får bi "stängknappar" button.addactionlistener(new ActionListener() { pubic void actionperformed(actionevent e) {System.exit(0); ); /* För att ett nytt objekt ska visas på skärmen måste vi göra vaidate på framen (repaint eer invaidate hjäper inte! Bug??) */ frame.vaidate(); /* Vi skue ju kunna göra vaidate efter singan och visa aa nya knappar på en gång förstås! */ //Vi skapar några fät for (int i = 0; i < 10; i++) { TextFied fied = new TextFied("Fied-" + new Integer(i).toString()); pane.add(fied); // Den här gången gör vi "det" efter singan frame.vaidate(); // Nu testar vi att ändra ayouten frame.testlayoutes(); %M UQ(LGHUEFN 17

18 ([HPSHO6WXGVDQGHEROODU import java.appet.*; import java.awt.*; /** An appet that dispays a simpe animation */ pubic cass BouncingCirce extends Appet impements Animation { int x = 150, y = 50, r=50; // position and radius of the circe int dx = 11, dy = 7; // trajectory of circe /** A timer for animation: ca our animate() method every 100 miiseconds. Creates a new thread. */ AnimationTimer timer = new AnimationTimer(this, 100); /** Draw the circe at its current position */ pubic void paint(graphics g) { g.setcoor(coor.red); g.fiova(x-r, y-r, r*2, r*2); /** Move and bounce the circe and request a redraw. * The timer cas this method periodicay. */ pubic void animate() { // Bounce if we ve hit an edge. if ((x - r + dx < 0) (x + r + dx > bounds().width)) dx = -dx; if ((y - r + dy < 0) (y + r + dy > bounds().height)) dy = -dy; %M UQ(LGHUEFN 18

19 // Move the circe. x += dx; y += dy; // Ask the browser to ca our paint() method to draw the circe at its new position. repaint(); /** Start the timer when the browser starts the appet */ pubic void start() { timer.start_animation(); /** Pause the timer when browser pauses the appet */ pubic void stop() { timer.pause_animation(); /** This interface for objects that can be animated by an AnimationTimer */ interface Animation { pubic void animate(); /** The thread cass that periodicay cas the animate() method */ cass AnimationTimer extends Thread { Animation animation; // The animation object we re serving as timer for int deay; // How many miiseconds between "animation frames" pubic AnimationTimer(Animation animation, int deay) { this.animation = animation; this.deay = deay; %M UQ(LGHUEFN 19

20 pubic void start_animation() { if (isaive()) super.resume(); ese start(); pubic void pause_animation() { suspend(); /** Loop forever, caing animate(), and then pausing the specified time. */ pubic void run() { for(;;) { animation.animate(); try { Thread.seep(deay); catch (InterruptedException e) { ; ([HPSHO6WXGVDQGHEROODUPHGGXEEHOEXIIULQJ import java.appet.*; import java.awt.*; /* An appet that dispays a simpe animation using doubebuffering and cipping */ pubic cass SmoothCirce extends Appet impements Runnabe { int x = 150, y = 100, r=50; // Position and radius of the circe int dx = 8, dy = 5; // Trajectory of circe Dimension size; // The size of the appet Image buffer; // The off-screen image for doube-buffering Graphics buffergraphics; // A Graphics object for the buffer Thread animator; // Thread that performs the animation booean pease_stop; // A fag asking animation thread to stop %M UQ(LGHUEFN 20

21 /** Set up an off-screen Image for doube-buffering */ pubic void init() { size = this.size(); buffer = this.createimage(size.width, size.height); buffergraphics = buffer.getgraphics(); /** Draw the circe at its current position, using doubebuffering */ pubic void paint(graphics g) { // Draw into the off-screen buffer. buffergraphics.setcip(g.getcip()); // cear the buffer buffergraphics.setcoor(this.getbackground()); buffergraphics.firect(0, 0, size.width, size.height); buffergraphics.setcoor(coor.red); // draw the circe buffergraphics.fiova(x-r, y-r, r*2, r*2); // Then copy the off-screen buffer onto the screen g.drawimage(buffer, 0, 0, this); %M UQ(LGHUEFN 21

22 /** Don t cear the screen; just ca paint() immediatey * It is important to override this method ike this for doube-buffering */ pubic void update(graphics g) { paint(g); /** The body of the animation thread */ pubic void run() { whie(!pease_stop) { // Bounce the circe if we ve hit an edge. if ((x - r + dx < 0) (x + r + dx > size.width)) dx = -dx; if ((y - r + dy < 0) (y + r + dy > size.height)) dy = -dy; // Move the circe. x += dx; y += dy; /* Ask the browser to ca our paint() method to redraw the circe at its new position. Te repaint what portion of the appet needs be redrawn: the rectange containing the od circe and the the rectange containing the new circe. These two redraw requests wi be merged into a singe ca to paint() */ // repaint od position of circe repaint(x-r-dx, y-r-dy, 2*r, 2*r); // repaint new position of circe repaint(x-r, y-r, 2*r, 2*r); // Now pause 1/10th of a second before drawing the circe again. try { Thread.seep(100); catch (InterruptedException e) { ; animator = nu; %M UQ(LGHUEFN 22

23 ÃÃ/** Start the animation thread */ pubic void start() { if (animator == nu) { pease_stop = fase; animator = new Thread(this); animator.start(); /** Stop the animation thread */ pubic void stop() { pease_stop = true; /** Aow the user to start and stop the animation by cicking, Java 1.0 */ pubic booean mousedown(event e, int x, int y) { if (animator!= nu) pease_stop = true; ese start(); return true; %M UQ(LGHUEFN 23

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 2 (20p + 20p = 40 p) ) Lärare, jourhavande lärare :

Läs mer

Vad är ett Framework? 2203$ ) UHOlVQLQJ. Hollywood. Frameworks (FW) Frameworks. Konstruktion av fönster, gränssnitt och användning av grafik i Java

Vad är ett Framework? 2203$ ) UHOlVQLQJ. Hollywood. Frameworks (FW) Frameworks. Konstruktion av fönster, gränssnitt och användning av grafik i Java 2203$ ) UHOlVQLQJ Frameworks. Konstruktion av fönster, gränssnitt och användning av grafik i Java Innehåll, kort om: Frameworks Grafik med främst AWT Grafiska interaktiva applikationer Händelsehantering

Läs mer

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se 1 F18-20-2006 Denna vecka Måndag: Ett komplext problem Tisdag: Lektion. Kväll: Essäfrågan distribueras via webben. Dead-line onsdag 17 maj, kl 12.00. Inlämning elektroniskt och på papper. Onsdag: Grafik

Läs mer

Java-concept och Swing. Swing low, sweet chariot

Java-concept och Swing. Swing low, sweet chariot Java-concept och Swing Swing low, sweet chariot Javas Swing-API En del av Javas standard-api API - application programming interface Ett klassbibiliotek som följer med Java Är designat med många OO-concept

Läs mer

Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?

Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser? Programmeringsteknik och Matlab Övning 6 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312

Läs mer

Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Fulltentamen vitsord: 3=28p, 4=38p, 5= 48p, max 60p. Max 30p i denna halvtentamen Hjälpmedel:

Läs mer

DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson

DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson Lösningar till TENTAMEN I IXC003 SYSTEMUTVECKLING MED INTERNET/INTRANET, del 1 (5p) för IT3 och INTERNETPROGRAMMERING MED JAVA

Läs mer

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:

Läs mer

Grafiska komponenter.

Grafiska komponenter. Grafiska komponenter. Kap J5-1 Grafiska användargränssnitt är det moderna alternativet till traditionell terminal-i/o. GUI-programmering bygger på en händelsestyrd flödeskontroll. I Java utförs GUI-programmeringen

Läs mer

Föreläsnings 11 - GUI, Händelsestyrda program, MVC

Föreläsnings 11 - GUI, Händelsestyrda program, MVC Föreläsnings 11 - GUI, Händelsestyrda program, MVC Josef Svenningsson Tisdag 20/11 Boken Denna föreläsning går igenom följande sektioner i boken: 10.1 och 10.2 11.1 Notera att kapitel 11 inte finns i boken

Läs mer

Recitation 4. 2-D arrays. Exceptions

Recitation 4. 2-D arrays. Exceptions Recitation 4. 2-D arrays. Exceptions Animal[] v= new Animal[3]; 2 declaration of array v Create array of 3 elements v null a6 Assign value of new-exp to v Assign and refer to elements as usual: v[0]= new

Läs mer

5 Användargränssnitt. 5.1 AWT och Swing

5 Användargränssnitt. 5.1 AWT och Swing 5 Användargränssnitt 5.1 AWT och Swing AWT (Abstract Windowing Toolkit) är ett omfattande klassbibliotek för hantering av användargränssnitt i Java. Det är gjort så att applikationerna blir helt plattformsoberoende

Läs mer

Fortsättningskurs i programmering F 5. GUI händelsehantering - undantagshantering Hugo Quisbert 20130205 AWT. Paket för hantering av grafik

Fortsättningskurs i programmering F 5. GUI händelsehantering - undantagshantering Hugo Quisbert 20130205 AWT. Paket för hantering av grafik Fortsättningskurs i programmering F 5 GUI händelsehantering - undantagshantering Hugo Quisbert 20130205 1 Abstract Window Toolkit Paket för hantering av grafik dvs skapa grafisk användargränssnitt java.awt

Läs mer

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt Programmeringsteknik II - HT18 Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt 18-09-28 1 Förra gången: Arv och klasshierarkier Vi såg hur

Läs mer

Mer om grafiska komponenter. Händelsestyrda program

Mer om grafiska komponenter. Händelsestyrda program Layout Managers TDA143 I1 Programmerade system Föreläsning 14 (OH-bilder 10) Mer om grafiska komponenter. Händelsestyrda program Utplaceringen av komponenter i en behållare styrs med en Layout Manager.

Läs mer

SMD091 Lektion 9. Definition. Inkapsling. Lite repetition. Grafik. Gränssnitt Definition och Implementation. Sammansättning... Implementation.

SMD091 Lektion 9. Definition. Inkapsling. Lite repetition. Grafik. Gränssnitt Definition och Implementation. Sammansättning... Implementation. SMD091 Lektion 9 Inkapsling Lite repetition Grafik 1 2 Gränssnitt Definition och Implementation Sammansättning... Definition...är ofta det bästa sättet att använda funktionalitet i andra klasser. Ratt

Läs mer

Föreläsning 8. Designmönster

Föreläsning 8. Designmönster Föreläsning 8 Designmönster Designmönster När man designar program kan det vara viktigt att förstå hur man tidigare gått till väga när man konstruerat program. Kännedom om dessa tillvägagångssätt kan snabba

Läs mer

Scratch Junior. makeandshape.com. by MIT. Gränssnitt Scratch Junior

Scratch Junior. makeandshape.com. by MIT. Gränssnitt Scratch Junior Scratch Junior by MIT Gränssnitt Scratch Junior 1. Spara 2. Scen 3. Presentationsläge (fullskärm) 4. Rutnät 5. Byt bakgrund 6. Lägg till text 7. Återställ figur (till sin ursprungliga position) 8. Grön

Läs mer

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 3 (15p + 20p + 5p = 40 p) Lärare, jourhavande lärare

Läs mer

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 18

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 18 Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 18 Igår: Genomgång av dugga Rekursion Idag och på måndag: Om essän Lite, lite teori om konstanter Grafiska användargränssnitt Grundläggande

Läs mer

Lösningsförslag till tentamen

Lösningsförslag till tentamen Uppgift 1 a) Sant. b) Sant. c) Sant. Lösningsförslag till tentamen 170818 d) Falskt. IPv6 anger en IP-adress med 132 bitar. e) Falskt. Spoofing åsyftar användning av förfalskad eller lånad identitet på

Läs mer

Modelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545

Modelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545 Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Magnus Myréen Modelsvar för Tentamen för Objektorienterad programvaruutveckling,

Läs mer

Support Manual HoistLocatel Electronic Locks

Support Manual HoistLocatel Electronic Locks Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing

Läs mer

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 Laboration 3 Visualisering (och implementering) av sortering Exempel på grafik (med Swing-paketet) Frågor 1 Laboration 3 Visualisering

Läs mer

Lab5 för prgmedcl04 Grafik

Lab5 för prgmedcl04 Grafik Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna

Läs mer

Swing. MER Java Foundation Classes (JFC) Hur lära sig? Vad är farorna. LayoutManagers. Exempel på några av komponenterna

Swing. MER Java Foundation Classes (JFC) Hur lära sig? Vad är farorna. LayoutManagers. Exempel på några av komponenterna MER Java Foundation Classes (JFC) Swing Swing Många klasser Vettigt att lära sig dem utantill - Tror inte det -... men det kan vara bra att ha en liten överblick över vad som finns - Idag (och med fortsättning

Läs mer

Frames, menyer och GUI-program

Frames, menyer och GUI-program 15 Frames, menyer och GUI-program Frames En frame-klass Om konstruktorer - igen Funktionella fönster Menyer Popupmenyer GUI-applikationer Dialogrutor Printerutskrift Kap 15: Sid 2 Frames Redan i kapitel

Läs mer

Föreläsning 10. Mer om grafiska komponenter Händelsestyrda program. Layout Managers

Föreläsning 10. Mer om grafiska komponenter Händelsestyrda program. Layout Managers Föreläsning 10 Mer om grafiska komponenter Händelsestyrda program Layout Managers Utplaceringen av komponenter i en behållare styrs med en layout manager. Det finns olika layout managers: FlowLayout GridLayout

Läs mer

Föreläsning 12. Föreläsning 12. Rörliga figurer Klassen Timer Undantag Något om applets. Rörliga appletsfigurer Klassen Timer Undantag

Föreläsning 12. Föreläsning 12. Rörliga figurer Klassen Timer Undantag Något om applets. Rörliga appletsfigurer Klassen Timer Undantag Föreläsning 12 Föreläsning 12 Rörliga figurer Klassen Timer Undantag Något om applets Rörliga appletsfigurer Klassen Timer Undantag Något om applets Klassen javax.swing.timer I Swing finns en klass Timer

Läs mer

Parallellism, återblick

Parallellism, återblick Parallellism, återblick Josef Svenningsson December 11, 2012 Lab7 Det är problem med lab7. Gå med i den grupp som ni använt tidigare. DEMO Flera saker händer samtidigt Ofta hanterar program olika indata

Läs mer

Swing. MER Java Foundation Classes (JFC) Vad är farorna. Hur lära sig? LayoutManagers. Exempel på några av komponenterna

Swing. MER Java Foundation Classes (JFC) Vad är farorna. Hur lära sig? LayoutManagers. Exempel på några av komponenterna MER Java Foundation Classes (JFC) Swing Swing Många klasser" Vettigt att lära sig dem utantill" - Tror inte det" -... men det kan vara bra att ha en liten överblick över vad som finns" - Idag (och med

Läs mer

Lösningar för tenta 3 DAT043,

Lösningar för tenta 3 DAT043, Lösningar för tenta 3 DAT043, 2018-08-22. Uppgift 1 class Person{ public String förnamn; public String efternamn; public int ålder; private double längd; private double vikt; public Person(String förnamn,

Läs mer

Föreläsning 10. Mer om grafiska komponenter Händelsestyrda program. Layout Managers. Exempel: FlowLayout. Klassen FlowLayout

Föreläsning 10. Mer om grafiska komponenter Händelsestyrda program. Layout Managers. Exempel: FlowLayout. Klassen FlowLayout Layout Managers Föreläsning 10 Mer om grafiska komponenter Händelsestyrda program Föreläsn Utplaceringen av komponenter i en behållare styrs med en layout manager. Det finns olika layout managers: FlowLayout

Läs mer

Lösningsförslag till tentamen

Lösningsförslag till tentamen till tentamen 1 (5) Kurs Objektorienterad programmering Kursbeteckning DAT042 Program D2, TKDAT Läsår 2012/2013, lp 1 Examinator Uno Holmer Uppgift 1 (10 p) Ingen lösning ges. Se kurslitteraturen. Uppgift

Läs mer

Föreläsningar nov 19, nov 20 v 47.

Föreläsningar nov 19, nov 20 v 47. Föreläsningar nov 19, nov 20 v 47. Trådar, Undantag, DFA mm. Att göra ett dator-femtonspel. Ett "klick"-styrt grafiskt femtonspel som dessutom ändrar sig själv. I "vickspelet" vill vi att datorn med jämna

Läs mer

Tentamen ITK:P2. Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng.

Tentamen ITK:P2. Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng. Tentamen ITK:P2 lördag 2007-04-14 Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng. 40 poäng ger betyget G, 55 ger VG Peter Mozelius DSV 1.) Ditt

Läs mer

Frivillig Java-swing-Graphics-lab Programmeringsteknik MN1 vt02

Frivillig Java-swing-Graphics-lab Programmeringsteknik MN1 vt02 Frivillig Java-swing-Graphics-lab Programmeringsteknik MN1 vt02 Denna laboration är frivillig och syftar till att låta dig lära mer om grafik i java. Labben är ganska grundlig och går igenom vad du skall

Läs mer

Lösningsförslag till tentamen FYTA11 Javaprogrammering

Lösningsförslag till tentamen FYTA11 Javaprogrammering Lunds universitet FYTA11 Institutionen för Teoretisk Fysik HT 08 Lösningsförslag till tentamen FYTA11 Javaprogrammering Fredag 9:e januari 2009, 09:00 13:00 Uppgift 1: Leta buggar Titta på klasserna A,

Läs mer

Malmö högskola 2007/2008 Teknik och samhälle

Malmö högskola 2007/2008 Teknik och samhälle Laboration Gui Avsikten med denna laboration är att du ska träna på att bygga grafiska användargränssnitt. Spara dina resultat i paketet laborationgui. Längst bak i laborationen finns fullständiga lösningar

Läs mer

Rita Egna Bilder, Timer

Rita Egna Bilder, Timer Rita Egna Bilder, Timer Josef Svenningsson November 27, 2012 Grafik Varje gång ett fönster behöver ritas om, pga av att det flyttas eller varit övertäckt, anropas automatiskt en metod som har namnet paintcomponent.

Läs mer

Föreläsning 15 (16) Historik (java.awt) Historik (javax.swing) Introduktion till Swing

Föreläsning 15 (16) Historik (java.awt) Historik (javax.swing) Introduktion till Swing Föreläsning 15 (16) Introduktion till Swing Historik (java.awt) JDK 1.0 AWT (Abstract Window Toolkit) Paket för gränssnittsprogrammering Har en del nackdelar: Använder s.k. native code Stödjer endast komponenter

Läs mer

PROG2 Tenta 2013-06-07 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

PROG2 Tenta 2013-06-07 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 DSV SU/KTH sid 1 (6) PROG2 VT13 PROG2 Tenta 2013-06-07 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 Tentan består av tre uppgifter. Max poäng är 38. För betyget E (godkänd) krävs minst

Läs mer

Tentamen FYTA11 Javaprogrammering

Tentamen FYTA11 Javaprogrammering Lunds universitet FYTA11 Institutionen för Teoretisk fysik HT 10 Tentamen FYTA11 Javaprogrammering Måndag 10:e januari 2011, 09:00 13:00 Instruktioner Hjälpmedel: enkla ritverktyg och Javadoc-genererade

Läs mer

Två designmönster, MVC och Observer/Observable. Objektorienterad programvaruutveckling GU (DIT011)

Två designmönster, MVC och Observer/Observable. Objektorienterad programvaruutveckling GU (DIT011) Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 8 Två designmönster, MVC och Observer/Observable. Designrekommendation

Läs mer

FactoryCast HMI. Premium & Quantum PLC. Applets 2004-10-28

FactoryCast HMI. Premium & Quantum PLC. Applets 2004-10-28 FactoryCast HMI Premium & Quantum PLC Applets 2004-10-28 INNEHÅLLSFÖRTECKNING 1 OM DETTA DOKUMENT...3 2 FÖRUTSÄTTNINGAR...3 3 PROJEKT I J++...4 3.1 LÄSA PLC-VARIABLER...4 3.1.1 Gränssnittet...4 3.1.2 Upprätta

Läs mer

Repetitionsföreläsning 2: Quiz & problemlösning med swing Inget nytt material.

Repetitionsföreläsning 2: Quiz & problemlösning med swing Inget nytt material. TDA 545: Objektorienterad programmering Repetitionsföreläsning 2: Quiz & problemlösning med swing Inget nytt material. Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag En quiz! tinyurl.com/tda545quiz

Läs mer

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 00 - juni - 17 Tentamen i Objektorientering och Java Skrivtid 5 h

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 00 - juni - 17 Tentamen i Objektorientering och Java Skrivtid 5 h Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 00 - juni - 17 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 4 (12p+8p+12p+8p = 40p) Lärare, jourhavande lärare :

Läs mer

Föreläsning 3: Händelsestyrda program och användargränssnitt

Föreläsning 3: Händelsestyrda program och användargränssnitt (2 september 2015 F3.1 ) Föreläsning 3: Händelsestyrda program och användargränssnitt Idag Från sekventiella till händelsestyrda program Lyssnare Kontroller Layout för ordning av kontroller (2 september

Läs mer

Lösningsförslag till tentamen

Lösningsförslag till tentamen Uppgift 1 Lösningsförslag till tentamen 110317 a) Sant. b) Falskt. I ett RAM-minne är åtkomsttiden densamma för alla minnesadresser. c) Falskt. TCP är ett protokoll på transportlagret. d) Falskt. Binärsökning

Läs mer

Modellsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545

Modellsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545 Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Magnus Myréen Modellsvar för Tentamen för Objektorienterad programvaruutveckling,

Läs mer

Efterhand fick vi ett system som vi tyckte var väl anpassat. Vi renskrev kladden (nedan) och började programmera menyerna.

Efterhand fick vi ett system som vi tyckte var väl anpassat. Vi renskrev kladden (nedan) och började programmera menyerna. Övning 3 - grupp 10 Övningen gick ut på att sortera givna funktionerna till ett ritprogram in i en meny. Den startsidan vi fick var blank och såg ut som nedan. I denna skulle vi skapa en meny med hjälp

Läs mer

ITK:P1 Lektion 4. Lektion 4. Lektion 4. Att implementera en spelidé i Java. DSV Peter Mozelius

ITK:P1 Lektion 4. Lektion 4. Lektion 4. Att implementera en spelidé i Java. DSV Peter Mozelius ITK:P1 Att implementera en spelidé i Java DSV Peter Mozelius import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Lektion4 extends JFrame implements ActionListener { final int

Läs mer

Laboration 15 Grafiskt användargränssnitt

Laboration 15 Grafiskt användargränssnitt Laboration 15 Grafiskt användargränssnitt Avsikten med denna laboration är att du ska träna på att skriva program som använder grafiskt användargränssnitt, dvs program som använder grafiska komponenter

Läs mer

Modelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545

Modelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545 Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Magnus Myréen Modelsvar för Tentamen för Objektorienterad programvaruutveckling,

Läs mer

ITK:P1 Föreläsning 4. Grafiska gränssnitt i Java. AWT-komponenter

ITK:P1 Föreläsning 4. Grafiska gränssnitt i Java. AWT-komponenter ITK:P1 Föreläsning 4 Grafiska gränssnitt och händelsehantering 1 DSV Peter Mozelius Grafiska gränssnitt i Java Efterfrågan på program med grafiskt gränssnitt har ökat avsevärt de senaste åren I Java finns

Läs mer

2I1073 Lektion 2. Lektion 2a. Lektion 2a. Servlets, säkerhet, och filhantering. import java.io.*; import javax.servlet.*; import javax.servlet.http.

2I1073 Lektion 2. Lektion 2a. Lektion 2a. Servlets, säkerhet, och filhantering. import java.io.*; import javax.servlet.*; import javax.servlet.http. 2I1073 Lektion 2 Servlets, säkerhet, och filhantering KTH-MI Peter Mozelius import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Lektion2a extends HttpServlet { public void

Läs mer

Ingenjörsfirman Stéen 2001-12-13 Java Sida 1 av 1

Ingenjörsfirman Stéen 2001-12-13 Java Sida 1 av 1 Java Sida 1 av 1 Java Mål och Syfte Målet med denna kurs i Java är att du direkt efteråt ska kunna börja utveckla dina första Javaapplikationer. Kursen ger dig många konkreta exempel på hur detta effektiva

Läs mer

Föreläsning 13: Swing (GUI), händelser, timer

Föreläsning 13: Swing (GUI), händelser, timer TDA 545: Objektorienterad programmering Föreläsning 13: Swing (GUI), händelser, timer GUI = graphical user interface Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag Idag: grafiska gränssnitt; läs kap

Läs mer

Tentamen FYTA11 Javaprogrammering

Tentamen FYTA11 Javaprogrammering Lunds universitet FYTA11 Institutionen för Teoretisk fysik HT 11 Tentamen FYTA11 Javaprogrammering Måndag 9:e januari 2012, 10:15 14:15 Instruktioner Hjälpmedel: enkla ritverktyg och Javadoc-genererade

Läs mer

Objektorienterad programmering i Java. Föreläsning 5 Kort om Java-Applets

Objektorienterad programmering i Java. Föreläsning 5 Kort om Java-Applets Objektorienterad programmering i Java Föreläsning 5 Kort om Java-Applets 1 Läsanvisningar Den här föreläsningen syftar till att ge en bild av vad en Java-Applet är och är ganska fristående från föregående

Läs mer

lgammal2.txt // Lösningar till gammal tentamen // Uppgift 1 a

lgammal2.txt // Lösningar till gammal tentamen // Uppgift 1 a // Lösningar till gammal tentamen // Uppgift 1 a /* Felet beror på att det är klassen på referensen som avgör vilka metoder man får köra på ett objekt, inte klassen på objektet. På rad 5 i klassen C har

Läs mer

Arv och polymorfi. Lite terminologi; Basklass eller superklass: En klass som fungerar som bas för vårt arv. Vi skapar nya klasser utifrån den.

Arv och polymorfi. Lite terminologi; Basklass eller superklass: En klass som fungerar som bas för vårt arv. Vi skapar nya klasser utifrån den. Arv och polymorfi Arv och polymorfi är två centrala begrepp i objektorientering. Arvsmekanismen innebär att vi kan skapa nya klasser utifrån redan existerande klasser. Man gör detta med hjälp av nyckelordet

Läs mer

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 7 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 7 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 7 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Grafiskt användargränssnitt, Swing Layout och komponenter Göra

Läs mer

Concurrency Saker händer samtidigt. Process En instans av ett program

Concurrency Saker händer samtidigt. Process En instans av ett program Concurrency Saker händer samtidigt Hur gör vi flera saker samtidigt på en dator? - Dela på en CPU - Flera CPU Flera processer på en dator. Operativsystemet (OS) tilldelar dem körtid (time slices, prioritet)

Läs mer

Tentamen FYTA11 Javaprogrammering

Tentamen FYTA11 Javaprogrammering Lunds universitet FYTA11 Institutionen för Teoretisk Fysik HT 08 Tentamen FYTA11 Javaprogrammering Fredag 9:e januari 2009, 09:00 13:00 Instruktioner Inga hjälpmedel är tillåtna. Behandla högst en uppgift

Läs mer

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid: Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-08-30, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:

Läs mer

INSTALLATION INSTRUCTIONS

INSTALLATION INSTRUCTIONS INSTALLATION - REEIVER INSTALLATION INSTRUTIONS RT0 RF WIRELESS ROOM THERMOSTAT AND REEIVER MOUNTING OF WALL MOUTING PLATE - Unscrew the screws under the - Pack contains... Installation - Receiver... Mounting

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016 Objektorienterad Programkonstruktion Föreläsning 2 2 nov 2016 Objekt - klass Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 Objekt - klass Objekt - klass Objekt - klass + Objekt - klass public class

Läs mer

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

Läs mer

2I1049 Föreläsning 8. Grafiska gränssnitt i Java. AWT-komponenter. Grafiska gränssnitt, Java interface och händelsehantering

2I1049 Föreläsning 8. Grafiska gränssnitt i Java. AWT-komponenter. Grafiska gränssnitt, Java interface och händelsehantering 2I1049 Föreläsning 8 Grafiska gränssnitt, Java interface och händelsehantering 1 KTH-MI Peter Mozelius Grafiska gränssnitt i Java Efterfrågan på program med grafiskt gränssnitt har ökat avsevärt de senaste

Läs mer

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt

Läs mer

Applets med komponenter

Applets med komponenter 5 Applets med komponenter Knappar Om gränssnitt (interface) Händelser Måla om appletytan Etiketter och textrutor Förvandla strängar till tal Aritmetik Omvandla datatyper med cast Felhantering Kap 5: Sid

Läs mer

Grafik i DrRacket AV TOMMY KARLSSON

Grafik i DrRacket AV TOMMY KARLSSON Grafik i DrRacket AV TOMMY KARLSSON Upplägg Grundläggande grafik i racket Frame% Kodexempel! Generella problemlösarstrategier Grafisk kodstruktur Button% Pane% & Panel% Canvas% Bitmap% Grafisk effektivisering

Läs mer

Exam Concurrent and Real-Time Programming

Exam Concurrent and Real-Time Programming LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Exam Concurrent and Real-Time Programming 2018 08 23, 14.00 19.00 1. Vad är prioritetsinversion? Illustrera med ett enkelt exempel. Redogör

Läs mer

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i

Läs mer

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. 1 (8) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt namn, personnummer och e-postadress på försättsbladet. Skriv rent dina svar.

Läs mer

DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU

DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU lösningsförslag till tentamen 2017-06-09 Tid: 8:30-12:30. Plats: SB. Ansvarig lärare: Fredrik Lindblad,

Läs mer

Lösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel

Lösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel Lösningar till Fiktiv Tentamen på kursen 2D4135 Objektorienterad programmering, design och analys med Java vt2004 Teoridel T1) (4p) Förklara kort följande grundläggande begrepp inom objektorienterad programmering:

Läs mer

Lösningsförslag till tentamen

Lösningsförslag till tentamen Uppgift 1 a) Falskt! Bitmönstret är 10010111 b) Falskt! Memory Manager handhar Lösningsförslag till tentamen 170609 c) Falskt. En trojansk häst är ett program i förklädnad. Det är således program som på

Läs mer

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 Laboration 3 Visualisering (och implementering) av sortering Exempel på grafik (med Swing-paketet) Frågor 1 Laboration 3 Visualisering

Läs mer

Grafiskt användargränssnitt (GUI-Graphical User Interface) intro Komponenter

Grafiskt användargränssnitt (GUI-Graphical User Interface) intro Komponenter Grafiskt användargränssnitt (GUI-Graphical User Interface) intro Komponenter De komponenter som vi ska titta lite närmare på den här gången är paneler (JPanel), knappar (JButton), textfält (JTextField).

Läs mer

tentaplugg.nu av studenter för studenter

tentaplugg.nu av studenter för studenter tentaplugg.nu av studenter för studenter Kurskod Kursnamn UU-76062 Inledande programmering i Java Datum 2014-07-13 Material Tentamen Kursexaminator Betygsgränser Tentamenspoäng G 30; VG 36 40 (VG) Övrig

Läs mer

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det

Läs mer

Föreläsning 9-10 Innehåll

Föreläsning 9-10 Innehåll Föreläsning 9-10 Innehåll Inläsning från textfil, utskrift från textfil Vektorer med objekt Matriser Datavetenskap (LTH) Föreläsning 9-10 HT 2018 1 / 41 Klassen Scanner Läsa från System.in Vi har tidigare

Läs mer

Objektorienterad programutveckling, fk

Objektorienterad programutveckling, fk till tentamen P r e l i m i n ä r 1 (7) Kurs Objektorienterad programutveckling, fk Program DAI2 Läsår 2017/2018, lp 2 Examinator Uno Holmer Uppgift 1 (7 p) Abstrahera ut aktiviteten i ett gränssnitt Trainee

Läs mer

Modellsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545

Modellsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545 Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Magnus Myréen Modellsvar för Tentamen för Objektorienterad programvaruutveckling,

Läs mer

Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:

Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid: Tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-01-13, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar: Alex

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

Laboration 3 GUI-programmering

Laboration 3 GUI-programmering Laboration 3 GUI-programmering Syfte Erbjuder studenterna en möjlighet att lära sig grunderna i gränssnittsprogrammering i Java. Genomförande Genomförs individuellt eller i grupp om 2 personer. Uppskattad

Läs mer

Föreläsning 3. Stack

Föreläsning 3. Stack Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista Evaluate postfix expressions Läsanvisningar

Läs mer

Trådar. Motivering. Många program måste kunna hålla på med flera saker samtidigt, till exempel. fleranvändarsystem.

Trådar. Motivering. Många program måste kunna hålla på med flera saker samtidigt, till exempel. fleranvändarsystem. Motivering Uppsala Universitet 21 april 2005 Många program måste kunna hålla på med flera saker samtidigt, till exempel fleranvändarsystem en webserver som måste kunna leverera flera websidor samtidigt

Läs mer

Lösningar till tentamen i EDAF25

Lösningar till tentamen i EDAF25 Lösningar till tentamen i EDAF25 1 juni 2017 Lösning 1 Se figur 1. Figure 1: Tillståndsdiagram espressomaskin Lösning 2 (a) Kompositmönstret (b) Se figur 2 (c) Se figur 3 : Square : Drawing : Group : Circle

Läs mer

Tentamen FYTA11 Javaprogrammering

Tentamen FYTA11 Javaprogrammering Lunds universitet FYTA11 Institutionen för Teoretisk fysik HT 11 Tentamen FYTA11 Javaprogrammering Fredag 26:e augusti 2011, 10:15 16:15 Instruktioner Hjälpmedel: enkla ritverktyg och Javadoc-genererade

Läs mer

endast har ett korrekt alternativ. Om

endast har ett korrekt alternativ. Om Objektorienterad programmering i Java Provmoment: Ladokkod: Tentamen ges för: Tentamen NOJ011-20132-A51H3- Systemarkitektprogrammet 7,5 högskolepoäng Tentamensdatum: 2014-01-08 Tid: 09:00 14:00 Hjälpmedel:

Läs mer

Föreläsning 3. Stack

Föreläsning 3. Stack Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista ADT Stack Grundprinciper: En stack

Läs mer

Modellsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545

Modellsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545 Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Magnus Myréen Modellsvar för Tentamen för Objektorienterad programvaruutveckling,

Läs mer

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes Vad kännetecknar en god klass F12 Nested & En odelad, väldefinierad abstraktion Uppgiften kan beskrivas kort och tydlig Namnet är en substantiv eller adjektiv som beskriver abstraktionen på ett adekvat

Läs mer

Lösningsförslag tentamen FYTA11 Java

Lösningsförslag tentamen FYTA11 Java Lunds universitet FYTA11 Institutionen för Teoretisk fysik HT 10 Lösningsförslag tentamen FYTA11 Java Måndag 10:e januari 2011, 09:00 13:00 Instruktioner Hjälpmedel: enkla ritverktyg och Javadoc-genererade

Läs mer

Svaret kan ges i Javakod (eller i UML-klassdiagram). public class A { B minb;... } public class B { <B:s många variabler och metoder> } Lösning:

Svaret kan ges i Javakod (eller i UML-klassdiagram). public class A { B minb;... } public class B { <B:s många variabler och metoder> } Lösning: Lös koppling mellan programdelar (klasser) eftersträvas ofta i objektorienterad programmering. Om klassen A beror av klassen B, hur kan man lösa upp detta beroende och åstadkomma en lösare koppling mellan

Läs mer