Malmö högskola 2007/2008 Teknik och samhälle
|
|
- Per-Olof Jakobsson
- för 6 år sedan
- Visningar:
Transkript
1 Laboration 13 Avsikten med denna laboration är att du ska använda ett par nya grafiska komponenter. Dessutom ska du göra designen utan hjälp av en layout-manager (enklare). Börja med att skapa paketet laboration13. I filen laboration13.zip hittar du fullständiga lösningar. Grundläggande uppgifter Uppgift 13a Uppgiften går ut på att använda ett antal komponenter i ett program. De som används är: 2 st JLabel 1 st JList 1 st JComboBox 2 st JPanel 3 st JRadioButton 5 st JCheckBox 1 st JButton 1 st JTextArea. Dessutom ska du inte använda någon Layout Manager när du designar fönstret. 1. Skapa en grafisk klass Högerklicka paketet laboration13 och välj New JFrame Form Välj namnet Personuppgifter som namn på klassen. Högerklicka i fönstret och välj Set Layout Null layout. Klicka på Code i fönstret nere till vänster och ändra Form Size Policy till Generate Resize Code. 2. JList boende Boende-delen består av en JLabel (texten Boende) och en JList. Placera en JLabel och en JList i fönstret. Inställningar i JList-komponenten är följande (se till att JList-komponenten är vald. Det kan krävas två klick på komponenten): Variable Name lstboende font Arial model Klicka på knappen till höger och ersätt Item 1 med Lägenhet osv (Klicka på Item 1, ersätt Item 1 med Lägenhet, Klicka på Edit). selectionmode SINGLE_INTERVAL selectedindex 0 JLabel-komponenten kan du ändra på egen hand. DA129A, Programmering 1 1
2 3. JComboBox Yrke Yrke-delen består av en JLabel och en JComboBox. Placera en JLabel och en JComboBox i fönstret. Inställningar i JComboBox är följande: Variable Name font model cbyrke Arial 4. JPanel och JRadioButton Ålder Se model under JList. Valbara alternativ kan vara: Studerande, Offentligt anställd, Privat anställd, Pensionär. Om ett antal komponenter ska samlas med någon typ av ram runt dem kan man först placera in en JPanel och sedan placera komponenterna på panelen. Panelen ges en lämplig Border. Placera en JPanel i fönstret. Klicka på knappen till höger om Border i Properties-fönstret. Klicka på Titled Border och gör sedan följande inställningar: Title Ålder Color Välj en färg för kanten och texten Ändra layouten på samma sätt som för fönstret, dvs. högerklicka på panelen och välj Set Layout Null layout i popup-menyn. Nu ska du välja Button Group i paletten och sedan klicka på fönstret. Detta är en osynlig komponent som vi behöver. Placera 3 st JRadioButton-komponenter i panelen. Ändra följande egenskaper: Variable Name rbalder0_17 rbalder18_64 rbalder65 font Arial Arial Arial text buttongroup buttongroup1 buttongroup1 buttongroup1 selected - - JLabel-komponenten kan du ändra på egen hand. 5. JPanel och JRadioButton Hobby Placera en JPanel i fönstret. Gör samma inställningar som under punkt 4. Placera 5 st JCheckBox-komponenter i panelen. Andra följande egenskaper: Variable Name cbidrott cbfolkdans cbfagel cbbridge cbkorsang font Arial Arial Arial Arial Arial text Idrott Folkdans Fågelsång Bridge Körsång 6. JButton och JTextArea Sammanfattning Placera en JButton i fönstret. Du kan själv göra nödvändiga inställningar Placera en JTextArea i fönstret. Ändra komponentens Variable Name till tasammanfattning och ändra font till Arial. I JTextArea-komponenten ska informationen från de andra komponenterna sammanställas. Skapa en händelsehanterare till knappen (Events actionperformed). Skriv in följande kod i händelsehanteraren: String txt = "Boende: " + lstboende.getselectedvalue() + "\n" + "Yrke: " + cbyrke.getselecteditem() + "\n" + "Ålder: " + getålder() + "\n" + "Hobby: " + hobbylista(); tasammanfattning.settext( txt ); 2
3 Som du ser anropas två metoder i ovanstående kod, nämligen getålder() och hobbylista(). Metoden getålder ska returnera någon av strängarna 0 17, och 65. Metoden hobbylista() ska returnera samtliga hobbies med ett blanktecken mellan dem. Nedan ser du min version av metoderna: private String hobbylista() { String res = ""; if( cbidrott.isselected() ) { res += " " + cbidrott.gettext(); if( cbfolkdans.isselected() ) { res += " " + cbfolkdans.gettext(); if( cbfagelskadning.isselected() ) { res += " " + cbfagelskadning.gettext(); if( cbbridge.isselected() ) { res += " " + cbbridge.gettext(); if( cbkorsang.isselected() ) { res += " " + cbkorsang.gettext(); return res; private String getålder() { if( rbalder0_17.isselected() ) { return "0-17"; else if( rbalder18_64.isselected() ) { return "18-65"; else { return "65 -"; Nu är det dags att testköra programmet (om du inte redan har gjort det). 3
4 Uppgift 13b Uppgiften handlar om att visa bilder. I ett fönster (det högra) väljer användaren bild som ska visas i en JList-komponent. I det vänstra fönstret visas den valda bilden. Uppgiften har stora likheter med föreläsningens exempel. Controller Ovanstående bild kan även beskrivas med hjälp av klassdiagram: ImageViewer +ImageViewer() +showimage( String ) +noimage() Controller - viewer : ImageViewer - chooser : ImageChooser +Controller( ImageViewer, ImageChooser) +newimage( String ) +eraseimage() ImageChooser - controller : Controller +ImageChooser() +setcontroller( Controller ) ImageViewer Börja med att skapa en fönsterklass som du döper till ImageViewer. Sätt layouten till Null layout Placera en JLabel-komponent som täcker nästan hela fönstret. Det är i denna komponent som bilder ska visas. Glöm inte att ge JLabel-komponenten ett bra namn, t.ex. lblimage. ImageViewer-klassen ska inte ha några instansvariabler. Klassen används endast för att visa bilder (genom anrop till någon av metoderna showimage( String ) eller noimage(). public void noimage() ska ta bort bilden som visas och i stället visa texten INGEN BILD VALD i JLabel-komponenten. lblimage.seticon( null ); // ta bort bild lblimage.settext( "INGEN BILD VALD" ); public void showimage( String ) tar emot sökvägen till en bildfil vilken ska visas i JLabel-komponenten. lblimage.settext( ); // ta bort text som visas lblimage.seticon( new ImageIcon( filename ) ); 4
5 Du kan testa ImageViewer-klassen genom att ändra main-metoden i klassen till: public static void main(string args[]) { java.awt.eventqueue.invokelater(new Runnable() { public void run() { String filename = "C:/bilder/filmlogga.jpg"; ImageViewer viewer = new ImageViewer(); viewer.setvisible( true ); viewer.showimage( filename ); // eller: viewer.noimage(); ); ImageChooser, del 1 Börja med att skapa en fönsterklass som du döper till ImageChooser. Sätt layouten till Null layout Placera en JListkomponent och en JButton-komponent i fönstret. Ge JListkomponenten ett bra namn och gör övriga nödvändiga ändringar i designen (se Uppgift 13a). ImageChooser-klassen har en instansvariabel, nämligen referens till ett Controller-objekt: private Controller controller; Eftersom du inte skrivit klassen Controller kommer det bli en röd markering till vänster om raden. Den försvinner snart! Klassen ska innehålla en set-metod till instansvariabeln controller: public void setcontroller( Controller incontroller ) { this.controller = incontroller; Även metoden drabbas tillfälligt av ett par rödmarkeringar. ImageChooser-klassen ska också ha lite händelse-hantering. Något ska ju hända när användaren klickar på knappen eller på en rad i listan. Vi väntar med händelse-hanteringen till ImageChooser, del 2. Controller Börja med att skapa en vanlig java-klass som du döper till Controller. Du ska lägga till två instansvariabler i klassen, en konstruktor och två metoder. Dessa beskrivs nedan. Instansvariabler Controller-klassen har två referenser. En referens till ett ImageViewer-objekt (instansvariabeln viewer) och en referens till ett ImageChooser-objekt (instansvariabeln chooser). private ImageViewer viewer; private ImageChooser chooser; Konstruktor Controller-objektet får referenser till instansvariabler när det skapas: ImageChooser chooser = new ImageChooser(); ImageViewer viewer = new ImageViewer(); Controller cont = new Controller( viewer, chooser ); 5 Controller - viewer : ImageViewer - chooser : ImageChooser +Controller( ImageViewer, ImageChooser) +newimage( String ) +eraseimage()
6 Dessa referenser ska lagras i instansvariablerna. Dessutom måste ImageChooser-objektet ha en referens till Controller-objektet. Slutligen ska ImageViewer-objektet och ImageChooserobjktet göras synliga: public Controller( ImageViewer inviewer, ImageChooser inchooser ) { this.viewer = inviewer; this.chooser = inchooser; chooser.setcontroller( this ); // this = referens till Controller-objektet viewer.setvisible( true ); chooser.setvisible( true ); Metoder Controllerklassen har två metoder: newimage( String ) vilken tar emot sökvägen till en bildfil (t.ex. C:/temp/sommar.jpg ). Metoden ska kontrollera att bildfilen är av korrekt typ (jpg, gif eller png). Om bildfilen är av korrekt typ så ska metoden anropa metoden showimage( String ) i ImageViewer-objektet. Om bildfilen är av otillåten typ så ska ett felmeddelande visas (figur till höger). public void newimage( String filename ) { int lastdot = filename.lastindexof( '.' ); String suffix = filename.substring( lastdot+1 ); suffix = suffix.tolowercase(); // alla tecken små bokstäver if( suffix.equals("jpg") suffix.equals("gif") suffix.equals("png") ) { viewer.showimage( filename ); else { JOptionPane.showMessageDialog( null, "Felaktig filtyp: " + suffix ); eraseimage() vilken ska anropa metoden noimage() i ImageViewer-objektet. public void eraseimage() { viewer.noimage(); Du kan testa Controller-klassen med följande main-metod. Endast en av de tre sista raderna ska vara aktiv vid exekvering (test av olika fall). public static void main(string[] args) { ImageChooser chooser = new ImageChooser(); ImageViewer viewer = new ImageViewer(); Controller cont = new Controller( viewer, chooser ); cont.newimage( "C:/bilder/filmlogga.jpg" ); // cont.newimage( "C:/bilder/karta.bmp" ); // ej tillåten filtyp // cont.eraseimage(); ImageChooser, del 2 Nu är det dags att införa händelsehantering i ImageChooser-klassen. Vid klick på knappen ska metoden eraseimage() anropas i Controller-klassen. controller.eraseimage(); Vid klick på rad i listan ska metoden newimage anropas i Controllerklassen. För att lyssna på klick i listan ska du använda händelsen valuechanged. Antalet case i switch-satsen beror på antalet rader i listan. Exemplet nedan förutsätter fem 6
7 rader i listan. Låt gärna en av bildfilerna vara av felaktig typ, t.ex. en bmp-fil. String filename = null; int index = lstimages.getselectedindex(); switch( index ) { case 0 : filename = "C:/bilder/london06.jpg"; break; case 1 : filename = "C:/bilder/filmlogga.jpg"; break; case 2 : filename = "C:/bilder/LugiP93DMPB2.jpg"; break; case 3 : filename = "C:/bilder/tandem1.jpg"; break; case 4 : filename = "C:/bilder/karta1.bmp"; break; controller.newimage( filename ); Nu är det dags att testköra programmet. När det fungerar ska du förvissa dig om att du förstår hur anropen går till: 1. Från klick på list-element till visning av bild / felmeddelande. 2. Från klick på knappen till visningen av texten INGEN BILD VALD. 3. Vid konstruktion hur klasserna får nödvändiga refrenser till varandra. 7
8 Fördjupande uppgifter Uppgift 13c Placera en JLabel och en JPanel i ett fönster. JLabel-komponenten ska visa musmarkörens position när den förs över JPanel-komponenten. I denna uppgift ska du lyssna på musrörelser över en komponent. Du ska lyssna på Jpanel-komponenten och du ska använda händelsen mousemoved. För att få reda på x-värde respektive y-värde anropar du metoden getx resp gety i MouseEvent-objektet (i händelsehanteraren), t.ex.: int x = evt.getx(); Sedan ser du till att x- respektive y-värdet visas i JLabel-komponenten. Förbättring 1: När musmarkören lämnar panelen ska texten tömmas. Lyssna på händelsen mouseexited. När den inträffar så ska du tömma texten. Förbättring 2: När musmarkören är över panelen ska den vara ett kors men annars den normala markören. Lyssna på händelserna mouseentered respektive mouseexited. Vid mouseentered så ändra markör med: setcursor( new java.awt.cursor(java.awt.cursor.crosshair_cursor) ); Vid mouseexited så ändra markör med: setcursor( new java.awt.cursor(java.awt.cursor.default_cursor) ); Uppgift 13d Placera en JButton i ett fönster. Uppmana användaren att klicka på knappen. Men du ska se till att kanppen flyttar sig så fort som användaren rör musmarkören över kanppen. Ledning: Knappen flyttas genom anrop till setlocation-metoden. Knappens nya position ska slumpas. Men se till att knappen inte hamnar utanför fönsterytan. Lyssna på knappen med mousemoved. 8
9 Extra uppgift Uppgift 12e Ej färdig 9
10 Lösningsförslag Uppgift 13a vissa delar av klassen package laboration13; public class Personuppgifter extends javax.swing.jframe { private String hobbylista() { String res = ""; if( cbidrott.isselected() ) { res += " " + cbidrott.gettext(); if( cbfolkdans.isselected() ) { res += " " + cbfolkdans.gettext(); if( cbfagelskadning.isselected() ) { res += " " + cbfagelskadning.gettext(); if( cbbridge.isselected() ) { res += " " + cbbridge.gettext(); if( cbkorsang.isselected() ) { res += " " + cbkorsang.gettext(); return res; private String getålder() { if( rbalder0_17.isselected() ) { return "0-17"; else if( rbalder18_64.isselected() ) { return "18-65"; else { return "65 -"; private void btnsammanfattaactionperformed(java.awt.event.actionevent evt) { String txt = "Boende: " + lstboende.getselectedvalue() + "\n" + "Yrke: " + cbyrke.getselecteditem() + "\n" + "Ålder: " + getålder() + "\n" + "Hobby: " + hobbylista(); tasammanfattning.settext( txt ); // Variables declaration - do not modify private javax.swing.jbutton btnsammanfatta; private javax.swing.buttongroup buttongroup1; private javax.swing.jcheckbox cbbridge; private javax.swing.jcheckbox cbfagelskadning; private javax.swing.jcheckbox cbfolkdans; private javax.swing.jcheckbox cbidrott; private javax.swing.jcheckbox cbkorsang; private javax.swing.jcombobox cbyrke; private javax.swing.jlabel jlabel1; private javax.swing.jlabel jlabel2; private javax.swing.jpanel jpanel1; private javax.swing.jpanel jpanel2; private javax.swing.jscrollpane jscrollpane1; private javax.swing.jscrollpane jscrollpane2; private javax.swing.jlist lstboende; private javax.swing.jradiobutton rbalder0_17; private javax.swing.jradiobutton rbalder18_64; private javax.swing.jradiobutton rbalder65; private javax.swing.jtextarea tasammanfattning; // End of variables declaration 10
11 Uppgift 13b delar av klasserna package laboration13; import javax.swing.*; public class ImageViewer extends javax.swing.jframe { public void showimage( String filename ) { this.settitle( filename ); lblimage.settext( "" ); lblimage.seticon( new ImageIcon( filename ) ); public void noimage() { lblimage.settext( "INGEN BILD VALD" ); lblimage.seticon( null ); public static void main(string args[]) { java.awt.eventqueue.invokelater(new Runnable() { public void run() { String filename = "C:/bilder/filmlogga.jpg"; ImageViewer viewer = new ImageViewer(); viewer.setvisible( true ); viewer.showimage( filename ); // viewer.noimage(); ); // Variables declaration - do not modify private javax.swing.jlabel lblimage; // End of variables declaration package laboration13; public class ImageChooser extends javax.swing.jframe { private Controller controller; public void setcontroller( Controller incontroller ) { this.controller = incontroller; private void lstimagesvaluechanged(javax.swing.event.listselectionevent evt) { String filename = null; int index = lstimages.getselectedindex(); switch( index ) { case 0 : filename = "C:/bilder/london06.jpg"; break; case 1 : filename = "C:/bilder/filmlogga.jpg"; break; case 2 : filename = "C:/bilder/LugiP93DMPB2.jpg"; break; case 3 : filename = "C:/bilder/tandem1.jpg"; break; case 4 : filename = "C:/bilder/karta1.bmp"; break; controller.newimage( filename ); private void btneraseactionperformed(java.awt.event.actionevent evt) { controller.eraseimage(); 11
12 // Variables declaration - do not modify private javax.swing.jbutton btnerase; private javax.swing.jscrollpane jscrollpane1; private javax.swing.jlist lstimages; // End of variables declaration package laboration13; import javax.swing.*; public class Controller { private ImageViewer viewer; private ImageChooser chooser; public Controller( ImageViewer inviewer, ImageChooser inchooser ) { this.viewer = inviewer; this.chooser = inchooser; chooser.setcontroller( this ); viewer.setvisible( true ); chooser.setvisible( true ); public void newimage( String filename ) { int lastdot = filename.lastindexof( '.' ); String suffix = filename.substring( lastdot+1 ); suffix = suffix.tolowercase(); // alla tecken små bokstäver if( suffix.equals( "jpg") suffix.equals( "gif" ) suffix.equals( "png" ) ) { viewer.showimage( filename ); else { JOptionPane.showMessageDialog( null, "Felaktig filtyp: " + suffix ); public void eraseimage() { viewer.noimage(); public static void main(string[] args) { ImageChooser chooser = new ImageChooser(); ImageViewer viewer = new ImageViewer(); Controller cont = new Controller( viewer, chooser ); cont.newimage( "C:/bilder/filmlogga.jpg" ); cont.newimage( "C:/bilder/karta.bmp" ); // ej tillåten filtyp cont.eraseimage(); 12
13 Uppgift 13c delar av klassen package laboration13; public class Uppgift13c extends javax.swing.jframe { private void pnlmovesmouseentered(java.awt.event.mouseevent evt) { setcursor( new java.awt.cursor(java.awt.cursor.crosshair_cursor) ); // Förbättring 2 private void pnlmovesmouseexited(java.awt.event.mouseevent evt) { lblkoordinater.settext( "" ); // Förbättring 1 setcursor( new java.awt.cursor(java.awt.cursor.default_cursor) ); // Förbättring 2 private void pnlmovesmousemoved(java.awt.event.mouseevent evt) { int x = evt.getx(); int y = evt.gety(); lblkoordinater.settext( String.format( "( %1d, %1d )", x, y ) ); // Variables declaration - do not modify private javax.swing.jlabel lblkoordinater; private javax.swing.jpanel pnlmoves; // End of variables declaration Uppgift 13d delar av klassen package laboration13; public class Uppgift13d extends javax.swing.jframe { private void btnmovemousemoved(java.awt.event.mouseevent evt) { // Slumpvärde: min 0, max fönsterbredd knappbredd int x = (int)( Math.random() * 280 ); // Slumpvärde: min 0, max fönsterhöjd knapphöjd int y = (int)( Math.random() * 250 ); btnmove.setlocation( x, y ); // Variables declaration - do not modify private javax.swing.jbutton btnmove; // End of variables declaration 13
Malmö högskola 2007/2008 Teknik och samhälle
Laboration 12 Avsikten med denna laboration är att du ska göra några grafiska program. Börja med att skapa paketet laboration 12. Grundläggande uppgift Uppgift 12a Uppgiften går ut på att göra en enkel
Läs merMalmö 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 merLaboration 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 merSwing. 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 merSwing. 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 merFö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 merKort om klasser och objekt En introduktion till GUI-programmering i Java
Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på
Läs merSubklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 5 Innehåll Subklasser och arv Inledning till grafik (JFrame och JPanel).
Läs merLaboration 10 - Eclipse
Laboration 10 - Eclipse Avsikten med laborationen är att du ska träna på att använda paket, att du ska packa några klassfiler i en jar-fil och slutligen använda innehållet i en jar-fil från en annan klass
Läs merMalmö högskola 2008/2009 CTS
Laboration 8 Avsikten med laborationen är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom
Läs merITK: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 merGrundlä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 merTentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: 2:a september 200, klockan 8:30-12:30. Plats: V Ansvarig lärare: Katarina Blom, tel 772 10 0. Läraren besöker tentamen kl 9:30
Läs merTDDE10 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 merMer 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 merObjektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015
Objektorienterad Programkonstruktion Föreläsning 3 9 nov 2015 Kursnämnd Namn kommer... UML: Klassdiagram UML: Relationer Ärver från superklass Implementerar gränssnitt Dubbelriktad eller oriktad relation
Läs merObjektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016
Objektorienterad Programkonstruktion Föreläsning 3 7 nov 2016 Klass/instans Med hjälp av nyckelordet static kan vi bestämma att en metod eller ett fält ska tillhöra själva klassen i stället för en specifik
Läs merDenna 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 merDagens föreläsning. Arrayer och klasser. Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 1 )
(26 januari 2018 F3 1 ) Dagens föreläsning Arrayer och klasser Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 2 ) Arrayer En array är en datatyp
Läs merLö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 merLaboration A Objektsamlingar
Laboration A Objektsamlingar Avsikten med laborationen är att du ska träna på att använda ett par objektsamlingar. Uppgift 1 Titta genom föreläsningsunderlaget DA129AFAHT07.pdf och testkör exemplen (se
Läs merLö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 mer1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.
1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som
Läs merGrundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2
AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga
Läs merLaboration 13, Arrayer och objekt
Laboration 13, Arrayer och objekt Avsikten med denna laboration är att du ska träna på att använda arrayer. Skapa paketet laboration13 i ditt laborationsprojekt innan du fortsätter med laborationen. Uppgift
Läs merLab5 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 merDagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?
Programmeringsteknik och Matlab Övning 4 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 merLösningsförslag övning 2.
Objektorienterad programmering, Z1 Lösningsförslag övning 2. Uppgift 1. public class SIUnits { public static double yardspermeter = 1.093613; public static double poundperkilo = 2.204623; public static
Läs merLÖ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 merMalmö högskola 2007/2008 Teknik och samhälle
Laboration 9 Avsikten med denna laboration är att du ska jobba vidare med klasser. Uppgifterna går ut på att skriva metoder och att skriva konstruktorer. Laborationen bygger vidare på laboration 8. Skapa
Läs merTENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng
TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,
Läs merLö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 merDD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion
DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/3 2014 Innehåll Kursöversikt Javarepetition/Javaintroduktion UML - klassdiagram-introduktion i anslutning till Java-exemplen Kursmål,
Läs merFöreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser
Föreläsning 5-6 Innehåll Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,
Läs merFrivillig 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 merTENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merLektion Händelsehanterare
Lektion Händelsehanterare Händelsehanterare kallas även lyssnare. En lyssnare har som uppgift att ta hand om olika händelser som kan inträffa. För att lyssnaren skall reagera på händelser måste den registreras
Läs merFöreläsning 5-6 Innehåll
Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]
Läs merFöreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc
Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp
Läs merMVC-mönstret. model-view-control i Swing
MVC-mönstret model-view-control i Swing MVC Tanken bakom MVC (model view control) är att separera uppgifter i ett program från varandra. Model - Den data som behandlas View - Hur användargränssnittet ser
Läs merProperties. Användbara metoder som kan anropas i propertychanged:
Properties Ett objekt kan ha vissa egenskaper (som beskrivs med instansvariabler). En enkel egenskap X avläses och sätts med metoderna getx() och setx(värde). En indexerad egenskap (från t.ex. en array)
Läs merLö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 merTDDC30 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 merMalmö högskola 2007/2008 Teknik och samhälle
Laboration 8 Avsikten med denna laboration är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom
Läs merDUGGA: 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 merFö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 merFö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 merDI-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 merProgrammering 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 merLösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 140423 a) Vad kompilatorn klagar på är att metoden Math.sqrt() inte finns! Detta kan ju verka något mystiskt eftersom vi alla vet att det i klassen Math finns en
Läs merITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Läs merTentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Fredagen 13 januari 2012, 14.00 18.00. Jourhavande lärare: Björn von Sydow, tel 0722/391401. Inga hjälpmedel. Lösningar
Läs merNetBeans 7. Avsikt. Projektfönster
NetBeans 7 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till
Läs merpublic och private Obs: private inte skyddar mot access från andra objekt i samma klass.
public och private En metod som är public får anropas från alla metoder i alla klasser. Ett attribut som är public får avläsas och ändras från alla metoder i alla andra klasser. En metod som är private
Läs merID1004 Laboration 3, 5-6 November 2012
18-okt-2012/FK ID1004 Laboration 3, 5-6 November 2012 Labben bör göras individuellt. Beräknad tid ca 2 timmar. Instruktionen antar att labben utförs i datasal, med hjälp av den integrerade utvecklingsmiljön
Läs merUppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:
Att skapa en klass kvadrat Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: public class Kvadrat { private int sida; Det var väl inte
Läs merVariabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.
Tentamen Programmeringsteknik I 2013-06-14 med lösningar 1. Svara kortfattat på följande: a) Vad är en instansvariabel? Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och
Läs merOOP Objekt-orienterad programmering
OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public
Läs merMalmö högskola 2012/2013 Teknik och samhälle
Laboration 5 Avsikten med laborationen är att du ska träna på att använda iterationer i dina program. I vanlig ordning placerar du dina lösningar i paketet laboration5. Uppgifterna är lätt matematiska
Läs merTDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor
TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5 Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor 1 Laboration 4 - Introduktion Syfte: Öva på självständig problemlösning
Läs mer725G61 - Laboration 8 Ett enkelt GUI. Sahand Sadjadee och Johan Falkenjack
725G61 - Laboration 8 Ett enkelt GUI Sahand Sadjadee och Johan Falkenjack December 20, 2013 1 Inledning I de tidigare labbarna har ni fått lära er grundläggande programmering och objektorientering samt
Läs merProgrammeringsteknik 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 merLaboration 24 Databasen MySQL och java
Laboration 24 Databasen MySQL och java Avsikten med denna laboration är att du ska hämta information ur en eller flera tabeller och visa resultatet i en JTable-komponent. Du ska ändra innehållet i tabellen
Läs merKARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09
Laboration 4, ISG A04 och DVG A08 HT-09 Laborationen går ut på att skapa en enkel bankbok. Ni skall i bankboken kunna registrera upp till 30 transaktioner som kan bestå av insättning, uttag eller checkuttag.
Läs merWindows Forms Winstrand Development
2013-01-23 1 Winstrand Development Användargränssnitt Hittills har vi skapat program för kommandoraden. Den bakomliggande koden fungerar som den ska, men vi upptäcker snabbt att programmen är begränsade
Läs merTDDC30 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 merObjektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering
och metoder Introduktion till objektorienterad programmering Markus Saers markus.saers@lingfil.uu.se orientering Deklarativ programmering Beskriver förutsättningarna för något Prolog Imperativ programmering
Läs merObjektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Läs merLö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 merNetBeans 5.5. Avsikt. Projektfönster
NetBeans 5.5 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till
Läs merDet finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2012-09-01 Skrivtid: 0900-1200 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Läs merTENTAMEN. Kurs: Applikationsutveckling i Java 5DV135. Ansvarig lärare: Johan Eliasson. HT12 Datum: Tid: kl
UMEÅ UNIVERSITET Institutionen för Datavetenskap 13-04-04 TENTAMEN Kurs: Applikationsutveckling i Java 5DV135 Ansvarig lärare: Johan Eliasson HT12 Datum: 13-04-04 Tid: kl 9.00-13.00 Namn: Personnummer:
Läs merTENTAMEN OOP
TENTAMEN OOP 2014-01-19 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merDAT043 Objektorienterad Programmering
DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är
Läs merLösningsförslag till exempeltenta 2
Lösningsförslag till exempeltenta 2 1 1. Beskriv hur man kan söka igenom en tvådimensionell array. Beskriv pseudokoden och förklara så klart som möjligt hur den fungerar. Lösning: Se laboration 3. - Beskriv
Läs merIdag. Exempel, version 2. Exempel, version 3. Ett lite större exempel
Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av
Läs merFöreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Läs merLaboration 10 - NetBeans
Laboration 10 - NetBeans Avsikten med laborationen är att du ska träna på att använda paket, att du ska packa några klassfiler i en jar-fil och slutligen använda innehållet i en jar-fil från en annan klass
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2016-03-17 Skrivtid: 1400 1900 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merFöreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder
Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305 Klass Object, instans av klass public/private Klassvariabler och klassmetoder 1 Array och ArrayList Arrayer och ArrayList är till för att innehålla
Läs merLösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 131220 a) Första felet beror på att namnet på klassen är felstavat i konstruktorn! Således har vi ingen konstruktor utan en metod med namnet Trubel. En metod måste
Läs merFöreläsning 10. ADT:er och datastrukturer
Föreläsning 10 ADT:er och datastrukturer ADT:er och datastrukturer Dessa två begrepp är kopplade till varandra men de står för olika saker. En ADT (abstrakt datatyp) är just abstrakt och är inte kopplad
Läs merLaboration 1 - Grunderna för OOP i Java
Uppdaterad: 2006-08-31 Laboration 1 - Grunderna för OOP i Java Inledning Laborationen går ut på att lära sig grunderna för objektorienterad programmering, samt motsvarande språkkonstruktioner i Java. Labben
Läs merObjektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ
orienterad programmering Föreläsning 3 Exempel: Telefonboken Fält som funktionsresultat Exempel Definiera static double[] vectorsum(double[] a, double[] b) Betrakta sedan följande kodavsnitt:... double[]
Läs merFö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 merFö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 merITK: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 merGrundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 12 I torsdags: Klassen TelefonKostnad Exemplifierar objektorienterad design, metoder, konstruktorer static Standardklassen Math Matematiska
Läs merPresentation av trafiksimuleringsprojektet
(27 februari 2017 Trafiksimulering 1 ) Presentation av trafiksimuleringsprojektet Skall diskutera Ett lite större program med flera klasser Hur man designar ett system Hur man ritar klassdiagram i UML
Läs merJava, klasser, objekt (Skansholm: Kapitel 2)
Java, klasser, objekt (Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Objectorienterad programmering Sida 1 Vad är en klass? En klass är ett sätt att beskriva en mängd objekt och deras gemensamma
Läs merLösningsförslag till tentamen 150317
Uppgift 1 Lösningsförslag till tentamen 150317 1) Sant 2) Falskt. I ett RAM-minne är åtkomsttiden densamma för alla minnesadresser.) 3) Falskt. Det är TCP som använder sig av en fast kommunikationsförbindelse.)
Läs merMalmö högskola 2008/2009 CTS
Laboration 5 Avsikten med laborationen är att du ska träna på att använda iterationer i dina program. I vanlig ordning placerar du dina lösningar i paketet laboration5. Uppgifterna är lätt matematiska
Läs merInkapsling tumregler. Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler. public och private
Inkapsling tumregler Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler Tobias Wrigstad (baserat på material från Tom Smedsaas) 5 november 2010 1. Man skall
Läs merTentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar
Läs merJAVA Mer om klasser och objektorientering
JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det
Läs merTvå 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 merLö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 merIdag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
Läs merOOP Objekt-orienterad programmering
OOP F16:1 OOP Objekt-orienterad programmering Föreläsning 16 Grafiska användargränssnitt, GUI Ytor Komponenter Layout-managers Lyssnare GUI - Graphical User Interface OOP F16:2 Man skapar en yta (ett fönster)
Läs mer4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &
TelefonKostnad static Math static $ & )&* +,-&. 0 +& + & 3 356+573 ) & & 6 3 3 & 3 * 6 3.:; < = 3 = 6 ; < : & >?.;,;@.A@;0,0,? @B0 C,0 > *. > 5 C D & D 5 * &! ; 66C! * C, 0 E,&! 0 F,G0 >: = = C 3 & HI
Läs mer