Laboration 15 Grafiskt användargränssnitt

Storlek: px
Starta visningen från sidan:

Download "Laboration 15 Grafiskt användargränssnitt"

Transkript

1 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 som t.ex. fönster och knappar. Uppgift 1 - FCKonverterare Du ska skriva ett program vilket låter användaren mata in ett antal grader låter användaren klicka på typ av konvertering, dvs. från Celsius till Fahrenheit eller från Fahrenheit till Celsius. Visar resultatet av konverteringen (rad två i figuren) Låter användaren avsluta programmet genom att klicka på Avsluta -knapp. Steg 1 Skapa projekt + klass Skapa en klass, FCKonverterare, i ett lämpligt projekt. Glöm inte extends JFrame. Se till att nödvändiga paket importeras (javax.swing, java.awt, java.awt.event) import javax.swing.*; import java.awt.*; import java.awt.event.*; public class FCKonverterare extends JFrame { public FCKonverterare() { Steg 2 Vilka komponenter behövs i programmet? Gör en lista över dem. Om vi tittar på figuren ovan så ser vi följande komponenter (uppifrån och ner): JLabel (Grader) + JTextField (Inmatningsfönstret) JLabel (Resultatutskrift) JButton (Fahrenheit ) + JButton (Celsius ) JButton (Avsluta) Skriv in dessa komponenter som attribut i klassen. private JButton ftoc = new JButton("Fahrenheit till Celsius"); private JButton ctof = new JButton("Celsius till Fahrenheit"); private JButton exit = new JButton("Avsluta"); private JLabel label = new JLabel("Grader "); private JLabel result = new JLabel("Resultat: "); private JTextField degrees = new JTextField(); DA129A, Programmering 1 1

2 Steg 3 Hur ska komponenterna placeras ut? Nedanstående skriver du i konstruktorn. Om vi tittar på figuren ovan så verkar den vara uppbyggd av 4 rader. Det innebär att en GridLayout med 4 rader och en kolumn verkar lämplig i huvudcontainern. Container c = getcontentpane(); c.setlayout(new GridLayout(4,1)); Den översta raden har två komponenter. Det innebär att vi behöver en panel att placera dem på. Den vänstra tar den storlek den behöver och den högra tar resten. Detta passar för en BorderLayout med JLabel i WEST och JTextField i CENTER. JPanel firstrow = new JPanel(new BorderLayout()); Rad 3 består av två knappar vilka ska ta lika stor plats båda två. Vi behöver en panel med GridLayout med två kolumner att placera knapparna på. JPanel thirdrow = new JPanel(new GridLayout(1,2)); Nu är det dags att placera komponenterna. firstrow.add(label,borderlayout.west); firstrow.add(degrees,borderlayout.center); thirdrow.add(ftoc); thirdrow.add(ctof); c.add(firstrow); c.add(result); c.add(thirdrow); c.add(exit); Steg 4 Fönstrets ska ha en storlek och fönstret ska vara synligt. setsize(350,130); setvisible(true); Steg 5 Testkör designen. Är du nöjd eller ska du göra förändringar? Nu kan du testa med andra inställningar. T.ex. annan fönsterstorlek, bakgrundsfärg/förgrundsfärg på olika komponenter osv. public static void main(string[] args) { FCKonverterare fck = new FCKonverterare(); Händelsehantering. Användaren ska ju kunna använda programmet, något ska hända vid klick på någon av knapparna, så nu är det dags att implementera händelsehantering. Först gör vi en lista på olika händelser som användaren ska kunna generera. Följande händelser ska användaren kunna generera: Klick på Celsius till Fahrenheit -knappen varvid graderna i inmatningsfönstret ska omvandlas till fahrenheitgrader. Klick på Fahrenheit till Celsius -knappen varvid graderna i inmatningsfönstret ska omvandlas till celsiusgrader. Klick på Avsluta-knappen varvid programmet ska avslutas. 2

3 Samtliga händelser fångas bäst med en ActionListener. Följande ska du göra: Låta klassen implementera ActionListener public class FCKonverterare extends JFrame implements ActionListener { Skriva metoden actionperformed i klassen public void actionperformed(actionevent e) { Koppla knapparna så att actionperformed anropas vid klick på dem. Skriv nedanstående rader i konstruktorn. ctof.addactionlistener(this); ftoc.addactionlistener(this); exit.addactionlistener(this); Nu är ramverket klart och vi kan skriva in den kod som ska exekveras då användaren klickar på en knapp. Celsius till Fahrenheit -knappen Innehållet i inmatningsfönstret ska hämtas genom anrop till metoden gettext(). Metoden returnerar en sträng (String). Denna sträng måste konverteras till ett decimaltal. Metoden Double.parseDouble(String) kan du använda för konverteringen. Metoden returnerar en double. Celsiusgraderna ska räknas om till fahrenheitgrader. Formeln F = C är användbar till detta. Slutligen ska innehållet i resultat-lablen ändras. Detta görs genom anrop till metoden settext(string). public void actionperformed(actionevent e) { double deg, res; if(e.getsource()==ctof) { // Klick på ctof? res = *deg; result.settext("resultat: "+deg+" C är "+res+" F"); Fahrenheit till Celsius -knappen Samma steg som ovan ska tas. Men formeln för beräkning av celsiusgrader är annorlunda: C = (F 32)/1.8. public void actionperformed(actionevent e) { double deg, res; if(e.getsource()==ctof) { res = *deg; result.settext("resultat: "+deg+" C är "+res+" F"); else if(e.getsource()==ftoc) { // klick på ftoc? res = (deg-32)/1.8; result.settext("resultat: "+deg+" F är "+res+" C"); 3

4 Avsluta -knappen Programmet ska avslutas när användaren klickar på denna knapp. public void actionperformed(actionevent e) { double deg, res; if(e.getsource()==ctof) { res = *deg; result.settext("resultat: "+deg+" C är "+res+" F"); else if(e.getsource()==ftoc) { res = (deg-32)/1.8; result.settext("resultat: "+deg+" F är "+res+" C"); else if(e.getsource()==exit) { // klick på exit-knapp System.exit(0); Nu är eventuellt programmet färdigt. Testkör det och experimentera gärna med olika ändringar. 4

5 Uppgift 2 FCKonverterare I denna uppgift ska du göra om applikationen i Uppgift 1 till en applet. Detta är ganska enkelt men man får tänka sig för. Följande ska du göra: Gå ut i Utforskaren och skapa en kopia av FCKonverterare.java. Döp kopian till FCApplet.java. Flytta kopian till src-katalogen (den är förmodligen i katalogen laboration15). Om du använder JBuilder ska du uppdatera projektet. Nu dyker FCApplet.java upp i projektfönstret. Du ska göra en del förändringar i innehållet i FCApplet.java. Ta bort package laboration15; Ändra så att klassen heter FCApplet och ärver JApplet. public class FCApplet extends JApplet implements ActionListener { Ta bort attributet exit. En applet kan inte avslutas användaren byter sida. private JButton exit = new JButton("Avsluta"); Ändra konstruktorhuvudet (public FCKonverterare()) till public void init() { Ta bort raderna exit.addactionlistener(this); // exit används inte mer. c.add(exit); // exit används inte mer. setsize(350,130); // appleten får sin storlek via html-sidan setvisible(true); // browsern ser till att appleten blir synlig Ändra huvudcontainerns GridLayout till 3 rader (ingen Avsluta -knapp) c.setlayout(new GridLayout(3,1)); Ta bort exit-koden ur actionperformed else if(e.getsource()==exit) { System.exit(0); Nu är det dags att testköra appleten. Börja med att skapa en fil med namnet FCApplet.html i src-katalogen. * netbeans: Högerklicka Source Packages och välj New HTML File. Skriv namnet FCApplet och klicka på Finish. * JBuilder: Välj File New File, skriv in ett lämpligt namn (t.ex. FCApplet), välj typen html och se till att src-katalogen i ditt projekt är vald (automatiskt). Klicka på OK. Skriv in nedanstående APPLET-tagg i FCApplet.html: <APPLET CODE="FCApplet.class" WIDTH="350" HEIGHT="100"> </APPLET> Testkör appleten genom att i * netbeans: Högerklicka FCApplet.java och välj Run File * JBuilder: Högerklicka FCApplet.html och välj Run using defaults Om allt ser ut som det ska och fungerar korrekt är det dags med Uppgift 3. 5

6 Uppgift 3 Appleten körs via browsern För att testköra appleten från en webserver så kan du utnyttja katalogen public_html här på MAH. Du har katalogen på enhet M. Nu ska du placera filerna FCApplet.class (finns i classes) och FCApplet.html (finns i src) i katalogen public_html som finns på enhet M. Enhet M om du jobbar hemifrån Om du jobbar med laborationen utanför Malmö högskola så når du ditt utrymme med hjälp av ftp, t.ex. via Internet Explorer (skriv i adressfältet): ftp://ftphome.mah.se Nu får du logga in med ditt användarnamn och lösenord. Kopiera filerna FCApplet.class och FCApplet.html från din dator till public_html. Testa appleten Testa din applet med att hämta hem dokumentet FCApplet.html via din browser. Du når dokumentet på adressen homeweb.mah.se/~xxxxxx/fcapplet.html där xxxxxx står för din nätverksidentitet. (användarnamn) Du får gärna placera filerna i en underkatalog, t.ex. lab7. I detta fall når du html-dokumentet med homeweb.mah.se/~xxxxxx/lab7/fcapplet.html Dags att testa om appleten startar! Men du måste använda en browser med Java2-plug. Detta är vanligt i dessa dagar. 6

7 Uppgift 4 Mushändelser Man kan fånga musklick på diverse komponenter, och även fånga händelsen att musmarkören förs in över en komponent eller förs ut från en komponent. Detta ska exemplifieras i denna uppgift. Slutresultatet kommer att likna figuren till höger. Om man klickar på en rektangel med en siffra så kommer denna siffra att läggas till i den översta raden. Om man klickar på <- så tas den sista siffran bort från raden (om det finns några siffror). Om man klickar på Del så tas alla siffror bort från raden. Om man för musmarkören över någon av komponenterna så kommer innehållet att visas på statusraden. Och när man tar bort musmarkören från komponenten så töms statusraden. Programmet består av 12 st JLabel med röd bakgrund. De har dessutom försetts med en border. Överst och underst är det ytterligare två JLabel, en med svart bakgrund, vit text och grå border och en med fönstrets bakgrundfärg och svart text (default-inställningar). Ett skal till programmet import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.border.*; // Behövs för knapp -border public class MouseEventsEx extends JPanel implements MouseListener { När programmet är färdigt kan du starta det med main-metoden: public static void main( String[] args ) { JFrame frame = new JFrame(); MouseEventsEx panel = new MouseEventsEx(); frame.setsize( 300, 170 ); frame.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); frame.getcontentpane().add( panel ); frame.setvisible( true ); Instansvariabler Alla komponenter som man ska referera till måste vara instansvariabler. Detta gäller inte komponenter som genererar händelser om de endast refereras i samband med händelserna. Endast den översta och den understa JLabel-komponenten behöver vara instansvariabler. Varför knapp -lablarna inte behöver vara instansvariabler ser du i händelsemetoderna. Lägg till instansvariablerna result och statusbar. private JLabel result = new JLabel( " " ); private JLabel statusbar = new JLabel( "No event" ); 7

8 Konstruktorn I konstruktorn designar vi panelen. En extra panel, med GridLayout (rader och 6 kolumner), används för att hålla knapp -lablarna.. Extra-panelen placeras i CENTER, result-labeln i NORTH och statusbar i SOUTH. public MouseEventsEx () { // Lokal variabler statusbar JLabel label; // Fält med knapparnas etiketter. Endast för att förenkla designen. String[] labels = {"0","1","2","3","4","<-","5","6","7","8","9","Del"; // Panel för de tolv "knapparna". 2 rader med 6 kolumner i vardera JPanel labelpanel = new JPanel( new GridLayout( 2, 6 ) ); Font font = new Font( "SansSerif", Font.BOLD, 16 ); // Design-del // De tolv JLabel-komponenterna skapas, designas, kopplas och placeras. // Detta sker en i taget. for (int i = 0; i < labels.length; i++) { label = new JLabel( labels[i], JLabel.CENTER ); // skapa JLabel label.addmouselistener( this ); // muslyssnare i denna klass label.setbackground( Color.red ); // röd bakgrundgärg label.setopaque( true ); // syns endast om JLabel göres tät label.setfont( font ); // större font än default-fonten // Varje knapp ska ha en border label.setborder(borderfactory.createbevelborder(bevelborder.raised)); labelpanel.add( label ); // Placera knappen på panelen result.setfont( font ); result.setforeground( Color.white ); // Textfärg result.setbackground( Color.black ); // Bakgrundsfärg result result.setopaque( true ); // Bakgrundsfärgen ska synas result.setborder(borderfactory.createlineborder(color.lightgray, 3)); result.setpreferredsize(new Dimension(200,30)); // Avmarkera och se! // Komponenter placeras i huvudpanelen (den ärvda panelen) setlayout( new BorderLayout() ); // Borderlayout är lämplig add( result, BorderLayout.NORTH ); add( labelpanel, BorderLayout.CENTER ); add( statusbar, BorderLayout.SOUTH ); Händelsehantering Nu återstår händelsehantering, dvs reagera på musklick och musrörelser in över och ut från komponenter. När en klass implementerar MouseListener så måste fem metoder finnas i klassen nämligen: public void mouseclicked(mouseevent e) { public void mousepressed(mouseevent e) { public void mousereleased(mouseevent e) { public void mouseentered(mouseevent e) { public void mouseexited(mouseevent e) { I programmet är det mousepressed, mousereleased, mouseentered och mouseexited som innehåller kod. 8

9 mousepressed mousepressed används när du ska registrera musklick på en komponent. Man lockas att använda mouseclicked men det ska man undvika. Funktionaliteten försämras nämligen avsevärt om du använder mouseclicked. public void mousepressed(mouseevent e) { String button = label.gettext(); // Text i klickad komponent String content = result.gettext(); // Innehåll i result-label statusbar.settext( "mousepressed on " + label.gettext() ); if(button.equals("del")) { // Del, Töm result-label på innehåll result.settext(""); // <-, ta bort ett tecken om det finns något tecken else if(button.equals("<-") && button.length()>0) { result.settext(content.substring(0,content.length()-1)); else { // siffra lägg till i result result.settext(content + label.gettext()); Kommentar till mousepressed-metoden: När en händelse genereras så anropas en händelse-hanterare. Du kan alltid erhålla en referens till komponenten som genererade händelsen (här: labeln som klickades) genom e.getsource(). Dock måste du typkonvertera komponenten till korrekt typ: Sedan kan referensen användas på vanligt sätt. mouseentered mouseentered anropas om musmarkören förs in över en komponent. public void mouseentered(mouseevent e) { statusbar.settext( "mouseentered on " + label.gettext() ); mouseexited mouseexited anropas om musmarkören förs bort från en komponent. public void mouseexited(mouseevent e) { statusbar.settext( "mouseexited from " + label.gettext() ); mousereleased mousereleased anropas när ett klick på en komponent avslutas (musknappen släpps upp) public void mousereleased( MouseEvent e ) { statusbar.settext( "mousereleased on " + label.gettext() ); mouseclicked mouseclicked anropas när användaren klickar på en component. Men användaren får inte flytta på musen medan klicket sker. Detta gör metoden svår att använda. public void mouseclicked(mouseevent e) { 9

10 Uppgift 1 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class FCKonverterare extends JFrame implements ActionListener { private JButton ftoc = new JButton("Fahrenheit till Celsius"); private JButton ctof = new JButton("Celsius till Fahrenheit"); private JButton exit = new JButton("Avsluta"); private JLabel label = new JLabel("Grader "); private JLabel result = new JLabel("Resultat: "); private JTextField degrees = new JTextField(); public FCKonverterare() { Container c = getcontentpane(); JPanel firstrow = new JPanel(new BorderLayout()); JPanel thirdrow = new JPanel(new GridLayout(1,2)); ctof.addactionlistener(this); ftoc.addactionlistener(this); exit.addactionlistener(this); c.setlayout(new GridLayout(4,1)); firstrow.add(label,borderlayout.west); firstrow.add(degrees,borderlayout.center); thirdrow.add(ftoc); thirdrow.add(ctof); c.add(firstrow); c.add(result); c.add(thirdrow); c.add(exit); setsize(350,130); setvisible(true); public void actionperformed(actionevent e) { double deg, res; if(e.getsource()==ctof) { res = *deg; result.settext("resultat: "+deg+" C är "+res+" F"); else if(e.getsource()==ftoc) { res = (deg-32)/1.8; result.settext("resultat: "+deg+" F är "+res+" C"); else if(e.getsource()==exit) { System.exit(0); public static void main(string[] args) { FCKonverterare fck = new FCKonverterare(); 10

11 Uppgift 2 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class FCApplet extends JApplet implements ActionListener { private JButton ftoc = new JButton("Fahrenheit till Celsius"); private JButton ctof = new JButton("Celsius till Fahrenheit"); private JLabel label = new JLabel("Grader "); private JLabel result = new JLabel("Resultat: "); private JTextField degrees = new JTextField(); public void init() { Container c = getcontentpane(); JPanel firstrow = new JPanel(new BorderLayout()); JPanel thirdrow = new JPanel(new GridLayout(1,2)); ctof.addactionlistener(this); ftoc.addactionlistener(this); c.setlayout(new GridLayout(3,1)); firstrow.add(label,borderlayout.west); firstrow.add(degrees,borderlayout.center); thirdrow.add(ftoc); thirdrow.add(ctof); c.add(firstrow); c.add(result); c.add(thirdrow); public void actionperformed(actionevent e) { double deg, res; if(e.getsource()==ctof) { res = *deg; result.settext("resultat: "+deg+" C är "+res+" F"); else if(e.getsource()==ftoc) { res = (deg-32)/1.8; result.settext("resultat: "+deg+" F är "+res+" C"); 11

12 Uppgift 4 import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.border.*; public class MouseEventsEx extends JPanel implements MouseListener { private JLabel result = new JLabel( " " ); private JLabel statusbar = new JLabel( "No event" ); public MouseEventsEx() { JLabel label; String[] labels = { "0","1","2","3","4", "<-","5","6","7","8","9","Del" ; JPanel labelpanel = new JPanel( new GridLayout(2, 6) ); Font font = new Font( "SansSerif", Font.BOLD, 16 ); for (int i = 0; i < labels.length; i++) { label = new JLabel( labels[i], JLabel.CENTER ); label.addmouselistener( this ); label.setbackground( Color.red ); label.setopaque( true ); label.setfont( font ); label.setborder( BorderFactory.createBevelBorder( BevelBorder.RAISED ) ); labelpanel.add( label ); result.setfont( font ); result.setforeground( Color.white ); result.setbackground( Color.black ); result.setopaque( true ); result.setborder( BorderFactory.createLineBorder( Color.lightGray, 3 ) ); result.setpreferredsize( new Dimension( 200,30 ) ); setlayout( new BorderLayout() ); add( result, BorderLayout.NORTH ); add( labelpanel, BorderLayout.CENTER ); add( statusbar, BorderLayout.SOUTH ); public void mousepressed( MouseEvent e ) { String button = label.gettext(); String content = result.gettext(); statusbar.settext( "mousepressed on " + label.gettext() ); if( button.equals( "Del" ) ) { result.settext( "" ); else if( button.equals( "<-" ) && button.length()>0 ) { result.settext( content.substring( 0, content.length()-1 ) ); else { result.settext( content + label.gettext() ); public void mouseentered( MouseEvent e ) { statusbar.settext( "mouseentered on " + label.gettext() ); 12

13 public void mouseexited( MouseEvent e ) { statusbar.settext( "mouseexited from " + label.gettext() ); public void mousereleased( MouseEvent e ) { statusbar.settext( "mousereleased on " + label.gettext() ); public void mouseclicked( MouseEvent e ) { public class StartUppgift5 { public static void main( String[] args ) { JFrame frame = new JFrame(); MouseEventsEx panel = new MouseEventsEx(); frame.setsize( 300, 170 ); frame.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); frame.getcontentpane().add( panel ); frame.setvisible( true ); 13

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

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 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

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

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Kort 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 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

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

Grafiska användargränsnitt i Java. Föreläsning 7 Innehåll. Använda klasspaketet Swing. Klasspaket i Java. Grafiska användargränsnitt i Java

Grafiska användargränsnitt i Java. Föreläsning 7 Innehåll. Använda klasspaketet Swing. Klasspaket i Java. Grafiska användargränsnitt i Java Föreläsning 7 Innehåll Grafiska användargränsnitt i Java Grafiska användargränsnitt i Java Komponenter (fönster, knappar, ) Layout Händelsehantering (Hur man får någonting att hända när användaren t.ex.

Läs mer

Laboration 10 - Eclipse

Laboration 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 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

NetBeans 7. Avsikt. Projektfönster

NetBeans 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 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

NetBeans 5.5. Avsikt. Projektfönster

NetBeans 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 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

Grafiska program i Java. AWT och Swing? AWT. Swing. JButton. Button

Grafiska program i Java. AWT och Swing? AWT. Swing. JButton. Button Grafiska program i Java 8-1 AWT och Swing? 8-2 Programmeringsgränssnittet för grafik i Java : Java Graphics API innehåller en mängd klasser för att utveckla grafiska program. De viktigaste typerna av klasser

Läs mer

Labbinstruktioner för Java/Swing

Labbinstruktioner för Java/Swing Labbinstruktioner för Java/Swing Grafik- och interaktionsprogrammering 2008 Martin Berglund Allmänt Dessa instruktioner är på intet sett den enda möjliga lösningen på labben, tvärtom finns

Läs mer

725G61 - Laboration 8 Ett enkelt GUI. Sahand Sadjadee och Johan Falkenjack

725G61 - 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 mer

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas. Eclipse Avsikt Att bekanta dig med Eclipse programmeringsmiljö, dvs att med hjälp av Eclipse 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till byte-kod

Läs mer

Laboration 1 Introduktion till Visual Basic 6.0

Laboration 1 Introduktion till Visual Basic 6.0 Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.

Läs mer

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

Malmö 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 mer

Laboration 13, Arrayer och objekt

Laboration 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 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

Lite logik. Kap 6: Sid 2

Lite logik. Kap 6: Sid 2 6 Loopar och val Lite logik Val mellan två alternativ Val mellan flera alternativ Sammansatta villkor Boolska variabler Jämför strängar While-loopar Do-loopar For-loopar Kortformer Kap 6: Sid 2 Lite logik

Läs mer

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på:

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: Bilaga C Eclipse 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: www.eclipse.org help.eclipse.org www.eclipse.org/downloads/

Läs mer

Klasshierarkier - repetition

Klasshierarkier - repetition Klasshierarkier - repetition Klasser kan byggas på redan denierade klasser, egna och/eller färdigskrivna, genom: I att klassobjekt används som attribut (instansvariabler): har-relation. Exempel: traksystemet

Läs mer

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

Malmö 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 mer

Att använda Java SE JDK 6

Att använda Java SE JDK 6 Att använda Java SE JDK 6 Programmeringsspråket Java är utvecklat av det amerikanska företaget Sun Microsystems. Sun erbjuder gratis en utvecklingsmiljö för java-programmering, Java 2 SE (Standard Edition).

Läs mer

3.5 Visuell programmering

3.5 Visuell programmering 3.5 Visuell programmering Alla våra program hittills har varit C# Console Applications (sid 41) inkl. programmet MessageBox fast det genererade en grafisk meddelanderuta. Nu vill vi utnyttja grafikens

Läs mer

1 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. 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 mer

Eclipse en handledning

Eclipse en handledning LUNDS TEKNISKA HÖGSKOLA EDAA01 Programmeringsteknik fördjupningskurs Institutionen för datavetenskap VT 2015 Eclipse en handledning 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas

Läs mer

Laboration 4: Digitala bilder

Laboration 4: Digitala bilder Objektorienterad programmering, Z : Digitala bilder Syfte I denna laboration skall vi återigen behandla transformering av data, denna gång avseende digitala bilder. Syftet med laborationen är att få förståelse

Läs mer

TENTAMEN 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. 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 mer

Objektorienterad programmering Föreläsning 2

Objektorienterad programmering Föreläsning 2 Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade

Läs mer

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio Ditt första C#-program med Visual Studio Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så

Läs mer

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan. Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen

Läs mer

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Dagens 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 mer

Laboration A Objektsamlingar

Laboration 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 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. Swing Många klasser MER Java Foundation Classes (JFC) Swing Jättemånga klasser Vettigt att lära sig dem utantill Tror inte det Hur lära sig? Principerna Model - view - controller Observer - observed Öva,

Läs mer

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2 Paneler - VCPXX.2 Programmeringsmanual för VCP-paneler Revision 2 Innehållsförteckning Innehållsförteckning... 2 1 Symbolfiler för kommunikation via IndraLogic... 3 2 Uppsättning i IndraWorks... 6 3 Programmering

Läs mer

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

ITK: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 mer

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar

Läs mer

Chapter 4: Writing Classes/ Att skriva egna klasser.

Chapter 4: Writing Classes/ Att skriva egna klasser. Chapter 4: Writing Classes/ Att skriva egna klasser. I dessa uppgifter kommer du att lära dig om hur man definierar egna objekt genom att skriva klasser. Detta är grunden för att förstå objekt orienterad

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Programmerade system I1 Syfte Laboration 1. Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i att skriva

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i

Läs mer

Föreläsning 15: Repetition DVGA02

Föreläsning 15: Repetition DVGA02 Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras

Läs mer

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. .0.0 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6 poäng Denna tentamen

Läs mer

Lösningsförslag övning 2.

Lö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 mer

LUNDS TEKNISKA HÖGSKOLA EDAA01 Programmeringsteknik fördjupningskurs Institutionen för datavetenskap HT 2015

LUNDS TEKNISKA HÖGSKOLA EDAA01 Programmeringsteknik fördjupningskurs Institutionen för datavetenskap HT 2015 LUNDS TEKNISKA HÖGSKOLA EDAA01 Programmeringsteknik fördjupningskurs Institutionen för datavetenskap HT 2015 Testning med JUnit 1 Inledning JUnit är ett ramverk för enhetstestning av Javakod. Det är utvecklat

Läs mer

PROGRAMMERING-Java TENTAMINA

PROGRAMMERING-Java TENTAMINA PROGRAMMERING-Java TENTAMINA Nicolina Månsson 2010-03-17 Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift står angivet inom parentes före varje uppgift. - För

Läs mer

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen.

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen. TT Kapitel 3. Husdjur & Fisk Javaklasser Translation by Leif Lourié Java program består av klasser som beskriver saker (objekt) som finns på riktigt. Även om det finns många olika sätt att skriva program

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

PROGRAMMERING-JAVA TENTAMINA

PROGRAMMERING-JAVA TENTAMINA PROGRAMMERING-JAVA TENTAMINA Nicolina Månsson 2010-08-16 (Kontaktperson Nicolina Månsson, tel. 0768-530640) Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift

Läs mer

Laboration 2. returnerar true om det är omöjligt för roboten att göra move() utan att. exekveringsfel erhålls, annars returnera false.

Laboration 2. returnerar true om det är omöjligt för roboten att göra move() utan att. exekveringsfel erhålls, annars returnera false. Laboration 2. I denna laboration skall ni programmera en robot som modelleras av den givna klassen Robot. En robot vistas i en enkel värld, som modelleras av klassen RobotWorld. Världen består av ett rutmönster

Läs mer

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1) Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet

Läs mer

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel Programmeringsteknik för Bio1 och I1 Övning 2 Kort repetition Övningsgrupp 3 (Sal E33) 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/2d1310/

Läs mer

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA... INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...6 2 (6) 2D1954 Programutvecklingsprojekt vt 2003 Installation

Läs mer

Att öva på och förstå ett program med flera samverkande klasser.

Att öva på och förstå ett program med flera samverkande klasser. Inlämningsuppgift 4 klassen Kund (Customer) Att öva på och förstå ett program med flera samverkande klasser. Redovisning: Uppgiften redovisas i datasal: o Körning av programmet. o Redogöra för vad de olika

Läs mer

Upplägg. Introduktion. Examination. Mål. Konsekvenser. Java. Kursen heter konstruktion, ej design eller formgivning.

Upplägg. Introduktion. Examination. Mål. Konsekvenser. Java. Kursen heter konstruktion, ej design eller formgivning. Introduktion Upplägg Kursen heter konstruktion, ej design eller formgivning. det handlar främst om att lära sig att bygga gränssnitt som är sunda den är praktiskt orienterad; vetenskapliga teorier finns,

Läs mer

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a. Översikt UML Sekvensdiagram (dynamic structure) Informationsflöde genom programmet Användningsfall (use cases) Aktörers interaktion med systemet Paketdiagram Beroenden mellan paket abstrakta klasser Multipel

Läs mer

Modern Programmering (2546) Tentamen lördag 30.09.2000

Modern Programmering (2546) Tentamen lördag 30.09.2000 Modern Programmering (2546) Tentamen lördag 30.09.2000 Svara på minst sex frågor. Om du svarar på alla sju frågorna faller den fråga bort som ger minst antal poäng. Maximalt 70 poäng. Det krävs 35 poäng

Läs mer

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

Swing. MER Java Foundation Classes (JFC) Vad är farorna. Hur lära sig? Exempel på några av komponenterna. LayoutManagers. Swing Många klasser MER Java Foundation Classes (JFC) Swing 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

"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde

Är en-relation. Har en-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde Föreläsning 7 "Har en"-relation Arv "Har en" "Är en" Superklassen Object Överskuggning Fordonsexempel Seminarium 2 Relevanta uppgifter Uppgift 31 I exemplet Boll från förra föreläsningen gällde följande

Läs mer

PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC

PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC lektion 1 PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC VB är ett applikationsutvecklingsverktyg med programmeringsspråket är basic, gränssnittet är grafiskt och man arbetar hela tiden

Läs mer

1 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. 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 mer

Objektorienterad programmering Föreläsning 6. Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska metoder

Objektorienterad programmering Föreläsning 6. Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska metoder Objektorienterad programmering Föreläsning 6 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska

Läs mer

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer. Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language

Läs mer

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

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

Läs mer

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2 TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2 Pelle Evensen, Daniel Wetterbro 5 november 2009 Sammanfattning Denna vecka ska vi titta på abstrakta klasser kontra interface,

Läs mer

Tentamen i Programmeringsteknik I, ES, 2010-03-18

Tentamen i Programmeringsteknik I, ES, 2010-03-18 Tentamen i Programmeringsteknik I, ES, 2010-03-18 Skriv tid: 14-17. Hjälpmedel: 1. Kurslitteratur, en av följande: Lewis & Loftus, Java Software Solutions Skansholm, Java Direkt Guzdial & Ericson, Intrododuction

Läs mer

Laboration 2 i datorintro för E1 Detta dokument innehåller instruktioner och övningar för introduktion till E-programmets datorsystem och web-mail.

Laboration 2 i datorintro för E1 Detta dokument innehåller instruktioner och övningar för introduktion till E-programmets datorsystem och web-mail. Laboration 2 i datorintro för E1 Detta dokument innehåller instruktioner och övningar för introduktion till E-programmets datorsystem och web-mail. E-programmets datorsalar är utrustade med datorer som

Läs mer

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye DD2310 Javaprogrammering för Pythonprogrammerare Johan Boye James Gosling pappa till Java Hej.java public class Hej { public static void main( String[] args ) { System.out.println( "Hej" ); Java basics

Läs mer

Laboration nr 3 Memory-spel

Laboration nr 3 Memory-spel Laboration nr 3 Memory-spel Syfte Syftet med denna laboration är att ge erfarenhet av att utveckla ett något större program som använder grafik, händelsestyrning samt är strukturerat enligt designmönstret

Läs mer

Lektion 2, Grundläggande funktioner i ASP.NET

Lektion 2, Grundläggande funktioner i ASP.NET Lektion 2, Grundläggande funktioner i ASP.NET Lektionen behandlar kapitlen 3 och 4 i kursboken. Application och Page Framework Med Visual Studio 2005 levereras ett antal inbyggda verktyg bland annat SQL

Läs mer

Vad är ett objekt? Tillstånd och beteende. Vad är ett objekt? Exempel

Vad är ett objekt? Tillstånd och beteende. Vad är ett objekt? Exempel Objekt Instansvariabler Instansmetoder Klassvariabler Klassmetoder Inkapsling Föreläsning 6 Vad är ett objekt? Ett objekt har egenskaper, som kallas för objektets attribut Egenskaperna beskriver tillsammans

Läs mer

Institutionen för datavetenskap HT 1 2007/2008. Testning med JUnit

Institutionen för datavetenskap HT 1 2007/2008. Testning med JUnit LUNDS TEKNISKA HÖGSKOLA EDA690 Algoritmer och datastrukturer Institutionen för datavetenskap HT 1 2007/2008 Enhetstestning Testning med JUnit När man implementerat en klass måste man, innan den kan användas,

Läs mer

Laboration 12, Arrayer

Laboration 12, Arrayer Laboration 12, Arrayer Avsikten med denna laboration är att du ska träna på att använda arrayer. Skapa paketet laboration12 i ditt laborationsprojekt innan du fortsätter på denna laboration. Uppgift 1

Läs mer

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt

Läs mer

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa. Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa. Antal: Enskilt Material: En dator med Windows 7 (Vista, Windows 8 eller

Läs mer

Instuderingsfrågor, del D

Instuderingsfrågor, del D Uppgift 1. Instuderingsfrågor, del D Objektorienterad programmering, Z1 I vilka av nedanstående problem behöver man använda sig av fält för att få en elegant lösning? I vilka problem är det är det onödigt/olämpligt

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

Starta ett fönster... Hur håller tkinter reda på musklick? Olika sätt att organisera fönsterinnehåll. Och för att placera våra widgets

Starta ett fönster... Hur håller tkinter reda på musklick? Olika sätt att organisera fönsterinnehåll. Och för att placera våra widgets Grafik Python levereras med ett grafikpaket tkinter De flesta av dagens applikationsprogram hanterar grafik Grafikhantering är komplicerat så använd färdigutvecklade grafikpaket Mycket att hålla reda på

Läs mer

Tentamen, EDAA20/EDA501 Programmering

Tentamen, EDAA20/EDA501 Programmering LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2013 08 22, 8.00 13.00 Anvisningar: Denna tentamen består av fyra uppgifter. Preliminärt ger uppgifterna

Läs mer

Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25

Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25 Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-0-2 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Elena Fersman besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka

Läs mer

Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540. Tentamen för TDA540 Objektorienterad programmering

Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540. Tentamen för TDA540 Objektorienterad programmering Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540 Tentamen för TDA540 Objektorienterad programmering DAG: 15-04-18 TID: 14:00 18:00 Ansvarig: Joachim von Hacht och Christer Carlsson

Läs mer

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser // En första version av BankKonto-klassen class BankKonto { private String namn; private long nr; private double saldo; private double ränta; // Klassen TestaBankKonto // Klassens uppgift är att skapa

Läs mer

Institutionen för TENTAMEN CTH VT-13 Datavetenskap 2013-03-14 TDA143. Tentamen för TDA143 PROGRAMMERADE SYSTEM DAG: 13-03-14 TID: 8:30 13:30

Institutionen för TENTAMEN CTH VT-13 Datavetenskap 2013-03-14 TDA143. Tentamen för TDA143 PROGRAMMERADE SYSTEM DAG: 13-03-14 TID: 8:30 13:30 Institutionen för TENTAMEN CTH VT-13 Datavetenskap 2013-03-14 TDA143 Tentamen för TDA143 PROGRAMMERADE SYSTEM DAG: 13-03-14 TID: 8:30 13:30 Ansvarig: Christer Carlsson, ankn 1038 Förfrågningar: Resultat:

Läs mer

Att använda ELSA. Vad behövs för att använda ELSA?. Felrapportering och support

Att använda ELSA. Vad behövs för att använda ELSA?. Felrapportering och support KI Biobank Instruktion Användarmanual för ELSA Innehållsförteckning Allmänt... 1 Vad är ELSA?... 1 Vad behövs för att använda ELSA?... 2 Felrapportering och support... 2 Att använda ELSA... 2 Viktig information...

Läs mer

Objekt och klasser - Introduktion. Objekt. SparKonto.java 2. SparKonto.java 1. Konton.java. Ett objekt har: Ett bankkonto

Objekt och klasser - Introduktion. Objekt. SparKonto.java 2. SparKonto.java 1. Konton.java. Ett objekt har: Ett bankkonto Objekt och klasser - Introduktion Objekt Ð Begreppet objekt Ð Hur klasser anvšnds fšr att skapa objekt Ð Fšr-definierade klasser Ð Metoder och parameteršverfšring Ð Definiera klasser Ð Modifierare Ð Statiska

Läs mer

Datorlaboration 0, Programmering i C++ (EDA623)

Datorlaboration 0, Programmering i C++ (EDA623) LUNDS TEKNISKA HÖGSKOLA Programmering i C++ Institutionen för datavetenskap HT 2013 Datorlaboration 0, Programmering i C++ (EDA623) Under den inledande datorlaborationen får du träna på de grundläggande

Läs mer

Kort-kort om utdelade användarkonton och datormiljön på NADA

Kort-kort om utdelade användarkonton och datormiljön på NADA Kort-kort om utdelade användarkonton och datormiljön på NADA UNIX-konto, användaridentitet Namn Du har fått ett konto med ett användarnamn bestående av prefixet ip99_ och ytterligare tre bokstäver. Dessa

Läs mer

Nya webbservern Dvwebb.mah.se

Nya webbservern Dvwebb.mah.se Nya webbservern Dvwebb.mah.se Bakgrund: BIT (Bibliotek och IT) beslutar att ta ner Novell systemet 28/3 som är en katalogtjänst som styr bland annat alla studenter s.k. hemkataloger på Malmö högskola såväl

Läs mer

Input. Programmering. Andra källor

Input. Programmering. Andra källor Programmering hh.se/db2004 Föreläsning 13: Undantag - med exempel från input klassen Scanner Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Input Standard Input Med standard

Läs mer

DOTNETNUKE SKOLNING Skapat: den 20 november 2012

DOTNETNUKE SKOLNING Skapat: den 20 november 2012 DOTNETNUKE SKOLNING Skapat: den 20 november 2012 CONTENTS WebbSidans Layout... 3 Inloggning... 3 Kontroller för administrering... 4 Växla visnings läge... 4 View Läge... 4 Edit Läge... 4 Layout Läge...

Läs mer

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded

Läs mer

Användargränssittet (Front-end) i mobilversionen bygger i stor utsträckning på jquery Mobile-ramverket.

Användargränssittet (Front-end) i mobilversionen bygger i stor utsträckning på jquery Mobile-ramverket. e-line mobilversion Pyramid Business Studio 3.42A servicepack 05 (2015-07-13) Mobilversionen av e-line är i grunden samma applikation som fullversionen av e-line. Skillnaden är att endast valda delar av

Läs mer

CliMate följer Tre-lager-arkitektur. Domänobjekt - domänlogiklagret. Viktiga domänklasser i CliMate. De tre lagren. Paketen i CliMate:

CliMate följer Tre-lager-arkitektur. Domänobjekt - domänlogiklagret. Viktiga domänklasser i CliMate. De tre lagren. Paketen i CliMate: följer Tre-lager-arkitektur De tre lagren presentation: användarhändelser+grafik+resultat domänlogik: håller systemets funktioner databasaccess: databas + sql-hantering Paketen i : climate.ui (inkl climate.ui.action

Läs mer

E07 "Greased Lightning"

E07 Greased Lightning E07 "Greased Lightning" Föreläsning 7, HT2014 CSS och Event Kurs: 1dv403 Webbteknik I Johan Leitet E07 Greased Lightning Dagens agenda CSS-egenskaper Händelsestyrd programmering Händelsehanterare Typer

Läs mer

Kom igång med FrontPage 2003

Kom igång med FrontPage 2003 Kom igång med FrontPage 2003 Skolorna i Kristianstads kommun har inte gemensam licens som med vissa övriga Microsoft-program utan licens måste köpas för varje dator som det ska installeras på. Din tekniker

Läs mer

Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-08-19 TDA550 DAG: 15-08-19 TID: 8:30 12:30

Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-08-19 TDA550 DAG: 15-08-19 TID: 8:30 12:30 Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-08-19 TDA550 Tentamen för TDA550 Objektorienterad programvaruutveckling IT, fk DAG: 15-08-19 TID: 8:30 12:30 Ansvarig: Christer Carlsson, ankn 1038

Läs mer

Dags att skriva uppsats?

Dags att skriva uppsats? Dags att skriva uppsats? Grundkurs i Word 2010 SDM Studentdatorutbildning vid Malmö högskola Att skriva i Word! 1 Börja skriva/skapa ditt dokument- något att tänka på 1 Spara ditt dokument 1 Bra att veta

Läs mer

Release Notes. Vad är nytt i Easy Planning 6.31. Programmet nu Vistakompatibelt. Ny html hjälpfil anpassad för Vista

Release Notes. Vad är nytt i Easy Planning 6.31. Programmet nu Vistakompatibelt. Ny html hjälpfil anpassad för Vista Vad är nytt i Easy Planning 6.31 Nya funktioner som tillkommit: 1. Programmet nu Vistakompatibelt. 2. Ny html hjälpfil anpassad för Vista. 3. Skapa egna rapporter i Access. 4. Databasen uppgraderas till

Läs mer