Applets med komponenter
|
|
- Britt Sandberg
- för 8 år sedan
- Visningar:
Transkript
1 5 Applets med komponenter Knappar Om gränssnitt (interface) Händelser Måla om appletytan Etiketter och textrutor Förvandla strängar till tal Aritmetik Omvandla datatyper med cast Felhantering
2 Kap 5: Sid 2 Knappar Vi skapar en knapp I en applet (och i en frame) kan man lägga in komponenter av olika slag. En knapp är ett exempel på en komponent. Varje komponent-typ har en egen klass i Java. Knappar beskrivs i klassen Button. En komponent som vi lägger ut i t ex en applet är ett objekt instansierat från klassen Button. Klassen Button, och andra klasser som beskriver komponenter, finns i klassbibliotekets paket java.awt (Där fanns ju också bl a klassen Graphics som vi redan har använt ) Vi skapar ett objekt med ordet new. Härvid anropas, som du vet, en speciell metod i klassen som kallas konstruktorn. (Konstruktormetoden har samma namn som klassen.) Du har sett att man ofta skriver in argument i konstruktormetoden. Argumenten överförs till egenskaper hos objektet. När vi skapar en knapp är argumentet en sträng som innehåller den text som ska stå på knappen. När man ska lägga ut en knapp i en applet måste man: Importera klassen Button (alla komponentklasser finns i paketet java.awt ) Deklarera komponenten (t ex Button knapp; ) Skapa komponentobjektet (t ex med b = new Button( Tryck på mig! );) Lägga ut komponenten i appleten. Detta sker med en appletmetod som heter add, så här: add(knapp); Övning: Knapp-test Skriv denna kod i en editor. Spara som KnappTest.java i mappen X\java\KnappTest import java.applet.*; import java.awt.*; // Här importeras bl a klassen Button public class KnappTest extends Applet Button knapp; public void init() knapp = new Button("Tryck på mej!"); add(knapp); public void paint(graphics g) g.drawstring( Vi testar knappar!, 50,100); Kompilera. Skriv en html-fil som startar appleten och kör! Knappen visas - men om du trycker på knappen så händer inget. Vi ska strax gå igenom hur man får något att hända då knappen trycks (händelsehantering). Vi kommer då att behöva använda gränssnitt, så vi börjar med att repetera vad ett gränssnitt är
3 Kap 5: Sid 3 Om gränssnitt (interface) I kapitel 3 (om Arv) sa vi att man i Java inte kan ärva från två (eller fler) klasser. Detta fungerar alltså inte: Klass A Fält Metoder: metod1() met2od() metod3() Klass B Fält Metoder: metoda() metodb() metodc() Klass C Fält Metoder: Däremot kan man implementera (ett eller flera) gränssnitt eller interface. Ett gränssnitt är en speciell slags klass som bara innehåller tomma metoder avsedda att omdefinieras. Klass A Fält Metoder: metod1() metod2() metod3() Interface B Metoder: metoda() metodb() metodc() Klass C Fält Metoder: metod1() metod2() metod3() metoda() metodb() Med ordet implements implementeras gränssnittets metoder i vår nya klass. I java-kod ser det ut så här: public class C extends A implements B I händelsehanteringen nedan behöver vi metoder som inte finns i klassen Applet. Vi kommer att implementera ett gränssnitt som har de önskade metoderna.
4 Kap 5: Sid 4 Händelser Händelseobjekt och metoden actionperformed Naturligtvis vill vi att något ska hända när vi trycker på knappen! När någon trycker på en knapp skapas ett händelseobjekt (ett objekt ur en klass vid namn ActionEvent) Objektet låter vi vara argument i en metod som heter actionperformed och i den metoden beskriver vi vad som ska hända. En metod som beskriver vad som ska hända kallas allmänt för händelsehanterare. Metoden actionperformed finns tyvärr inte deklarerad i applets. Vi implementerar därför ett gränssnitt, ActionListener där metoden actionperformed finns. Ett Button-objekt har en metod som heter addactionlistener() Den metoden måste anropas för att associera knappen till actionperformed()-metoden. Den gör så att knappen lyssnar på en knapptryckning och anropar actionperformed()-metoden då knappen trycks. Övning: Testa händelser Vi ska komplettera appleten KnappTest med kod så att knappen blir aktiv. Fyra saker måste göras: Klasser som har med händelsehantering att göra finns i ett paket som heter java.awt.event, så det paketet måste importeras. Vi implementerar gränssnittet ActionListener (så att vi kan använda metoden actionperformed) Vi sätter en lyssnare på knappen: Med satsen knapp.addactionlistener(this); anger vi att knappen knapp ska lyssna på en knapptryckning och anropa metoden actionperformed. Parametern this anger att actionperfomed är definierad i denna (this) applet. (Ibland kan nämligen händelsehanteraren vara definierad i en annan klass) Vi omdefinierar metoden actionperformed. Där beskrivs vad som ska ske när knappen trycks. Metoden actionperfomed startar när den mottar ett ActionEvent-objekt, det vill säga när det har inträffat en händelse (någon trycker på knappen ) I vårt fall ska vi låta appleten byta bakgrundsfärg (till röd) när knappen trycks, så metoden actionperformed kommer att innehålla en enda sats, nämligen setbackground(color.red); Så här blir appleten när den kompletterats med händelsehantering:
5 Kap 5: Sid 5 import java.applet.*; import java.awt.*; import java.awt.event.*; Nytt paket för händelsehantering! Implementera gränssnittet Actionlistener! public class KnappTest extends Applet implements ActionListener Button knapp; public void init() knapp = new Button("Tryck på mej!"); add(knapp); knapp.addactionlistener(this); Sätt lyssnare på knappen! public void paint(graphics g) g.drawstring("vi testar knappar!", 50,100); public void actionperformed(actionevent e) setbackground(color.red); Skriv in metoden actionperformed! Komplettera appleten på detta sätt. Spara kompilera provkör! Övning: Starta ljud med en knapp Öppna filerna Bilder.java och Bilder.html (från bild- och ljudövningarna i Kapitel 4 ) (Det ska vara den senare versionen - den du gjorde i övningen med ljud ) Gör följande kompletteringar i klass-filen. Importera: import java.awt.*; import java.awt.event.*; Implementera gränssnittet ActionListener - lägg till:... extends Applet implements ActionListener Deklarera: I init-metoden: Button knapp; knapp = new Button("Spela!"); this.add(knapp); knapp.addactionlistener(this); Skriv actionperfomed-metoden och flytta this.ljud1.play(); från paint-metoden: public void actionperformed(actionevent e) this.ljud1.play(); Spara filen kompilera kör! Nu startar ljudet när du trycker på knappen!
6 Kap 5: Sid 6 Övning: Två knappar Deklarera ytterligare en knapp (med namnet knapp2) i KnappTest.java Button knapp, knapp2; Skapa knappobjektet i init-metoden: knapp2 = new Button("Blå"); Lägg ut den på appleten: add(knapp2); Se till att även knapp2 "lyssnar" på actionperformed-metoden: knapp2.addactionlistener(this); Gör tillägg i actionperformed-metoden: public void actionperformed(actionevent e) if (e.getsource() == knapp) setbackground(color.red); if (e.getsource() == knapp2) setbackground(color.blue); Metoden e.getsource() känner av vilken knapp som har tryckts. Trycker du på knapp blir appletens bakgrund röd. Trycker du på knapp2 blir den blå! Du kommer väl ihåg if-satsen från kapitel 1? Satsen setbackground(color.red); i exemplet ovan utförs endast om villkorssatsen (e.getsource() == knapp ) är sann Övning: Ljud igen Du arbetade förut med ett ljudobjekt, ljud1 i övningen Bilder.java Ljudet kunde startas med ljud1.play(); Det kan stoppas med ljud1.stop(); Ljudet spelas kontinuerligt med ljud1.loop(); Ta fram övningen Bilder.java Gör så att ljudet spelas kontinuerligt när man trycker på knappen. Lägg in ytterligare en knapp. När man trycker på denna ska ljudet upphöra.
7 Kap 5: Sid 7 Måla om appletytan Övning: Metoden repaint() Skriv in följande applet och spara den som KnappTest2.java i mappen X\java\KnappTest import java.applet.*; import java.awt.*; import java.awt.event.*; public class KnappTest2 extends Applet implements ActionListener Button knapp; String s; Color farg; public void init() knapp = new Button("Tryck"); add(knapp); knapp.addactionlistener(this); s = "Hej!"; farg = Color.green; public void paint(graphics g) g.setcolor(farg); g.filloval(100,100,80,80); g.drawstring(s, 50,70); public void actionperformed(actionevent e) s = "Du har tryckt på knappen!"; farg = Color.red; Strängen s ger vi från början värdet Hej! Color-objektet farg ger vi värdet Color.green I actionperformed()-metoden ändras värdet hos s och hos farg. Spara filen som KnappTest2.java. Kompilera. Starta appleten med en html-fil. Tryck på knappen. Inget händer Vi måste på något sätt få metoderna i paint()-metoden att utföras igen! Applets har en metod som heter repaint(). Den metoden anropar paint()-metoden på nytt. Lägg till metoden i repaint() sist i actionperformed()-metoden: public void actionperformed(actionevent e) s = "Du har tryckt på knappen!"; farg = Color.red; repaint(); Spara kompilera kör! Appletytan målas om med de nya värdena på s och farg!
8 Kap 5: Sid 8 Övning: Flytta på Jumbo Skapa mappen X\java\Jumbo Skriv nedanstående kod. Spara den som FlyttaJumbo.java //Övning FlyttaJumbo import java.awt.*; import java.awt.event.*; import java.applet.*; public class FlyttaJumbo extends Applet implements ActionListener // Deklarationer Label ledtext; Button knapp1, knapp2; Image jumbo; int x,y ; public void init() ledtext = new Label("Tryck på knapparna - flytta bilden"); jumbo = this.getimage(getcodebase(),"jumbo.gif"); knapp1 = new Button("Vä"); knapp2 = new Button("Hö"); add(ledtext); add(knapp1); add(knapp2); knapp1.addactionlistener(this); knapp2.addactionlistener(this); x = 100; y = 100; public void paint(graphics g) g.drawimage(jumbo,x,y,this); public void actionperformed(actionevent e) if (e.getsource() == knapp1) x = x - 10; if (e.getsource() == knapp2) x = x + 10; repaint(); Skriv också en enkel HTML-fil (FlyttaJumbo.html) som startar appleten. Kompilera och kör. (Genom att trycka på knapparna kan man flytta på figuren ) Läs kommentarer till koden på nästa sida!
9 Kap 5: Sid 9 Det mesta är bekant i koden. I actionperformed-metoden exekveras satsen x = x + 10; då man trycker på knapp2 Satsen x = x + 10; fungerar så här: Antag att x har värdet 100 från början Det nya värdet på x blir då det gamla värdet (100) plus 10, dvs 110 Nästa gång man trycker på knapp2 så blir x-värdet , dvs 120 osv, osv Varje gång man trycker på en knapp utförs metoden repaint(), (appleten ritas om) I paint-händelsen beskrivs Jumbos position av koordinaterna x och y, dvs Jumbo flyttar på sig Trycker man på knapp1 minskas i stället x-värdet (Jumbo flyttas åt vänster) Komplettera koden: Lägg in två nya knappar så att Jumbo även kan förflyttas vertikalt. Övning: Flytta objekt Skriv en applet där du, med samma teknik som ovan, kan flytta ett objekt ur någon av de klasser som du själv har skrivit (t ex Asteroid )
10 Kap 5: Sid 10 Etiketter och textrutor Skapa etiketter och textrutor Textrutor används när vi vill kunna mata in värden (texter och tal) i en applet. Etiketter (eller labels) är fasta texter som vi inte kan ändra värdet på. Textrutor beskrivs i klassen TextField, etiketter i klassen Label. Alla klasser som beskriver komponenter finns, som sagt, i klassbibliotekets paket java.awt Övning: Komponent-test Skriv denna kod i en editor. Spara som KompoTest.java i mappen X\java\KompoTest // En övning med komponenter import java.awt.*; import java.applet.*; public class KompoTest extends Applet // Deklarationer Label ledtext; // Här deklareras komponent-objekt TextField inruta; Button knapp; public void init() ledtext = new Label("Detta är skrivet i en label");// Här skapas inruta = new TextField(10); // komponent-objekt knapp = new Button("Tryck här!"); // this.add(ledtext); // Här läggs this.add(inruta); // komponenterna ut this.add(knapp); public void paint(graphics g) g.drawstring("detta är skrivet med drawstring", 10,70); Vi skapar här en label, en textruta och en knapp. Vi gör (som förut) alla deklarationer först. I metoden init skapar vi objekten (med new) och lägger ut komponenter med metoden add() Vi låter också paint()-metoden skriva ut en text. Kompilera! Skriv en HTML-fil som anropar appleten KompoTest.class Se på appleten med hjälp av appletviewer Testa att variera storleken hos fönstret som visar appleten. Du ser att labelns, textrutans och knappens lägen förändras. (Vi ska senare se hur man kan påverka placeringen av komponenter )
11 Kap 5: Sid 11 Övning: Ta hand om inmatade värden Det som matas in i en textruta ska kunna överföras till en variabel för fortsatt bearbetning (utskrift eller beräkning). Vi ska bygga vidare på appleten KompoTest och göra så att knappen blir aktiv. När vi trycker på knappen ska det som matats in i textrutan överföras till en strängvariabel vars värde skrivs ut på appleten. Komplettera / skriv om klassen KompoTest på följande sätt: // En övning med komponenter import java.awt.*; import java.awt.event.*; import java.applet.*; public class KompoTest extends Applet implements ActionListener // Deklarationer Label ledtext; TextField inruta; Button knapp; String namn; public void init() ledtext = new Label("Skriv ditt namn "); inruta = new TextField(10); knapp = new Button("Tryck här!"); add(ledtext); add(inruta); add(knapp); knapp.addactionlistener(this); namn = ; // två citationstecken, inget emellan public void paint(graphics g) g.drawstring("hej " + namn + "!",10,90); public void actionperformed(actionevent e) namn = inruta.gettext(); repaint(); Spara filen och kompilera Kör appleten med hjälp av appletviewer (eller genom att öppna HTML-filen i en web-läsare). Testa genom att skriva in ett namn (förslagsvis ditt eget) i textrutan - och trycka på knappen! Läs kommentarerna till koden på nästa sida!
12 Kap 5: Sid 12 För att knappen ska bli aktiv gör vi som förut: Importerar paketet java.awt.event. Implementerar gränssnittet ActionListener Sätter en lyssnare på knappen: knapp.addactionlistener(this); Skriver actionperformed()-metoden Vidare: Vi deklarerar ett strängobjekt som vi kallar namn I init()-metoden ser vi till att strängen namn från början är tom: namn = ; I metoden paint() står denna sats: g.drawstring("hej " + namn + "!",10,90); Här är ett exempel på konkatenering (sammanfogning) av strängar. Vi har tre strängar: - den konstanta strängen "Hej " - strängvaraibeln namn - den konstanta strängen "!" De sammanfogas med plustecken. Om namn har värdet "Pelle" kommer utskriften att bli: Hej Pelle! I metoden actionperformed(): Objektet inruta har en metod, gettext, som lämnar det värde som matas in i textrutan. (gettext är förstås definierad i klassen TextField) Satsen namn = inruta.gettext(); gör alltså att strängen namn tilldelas det som matas in. Metoden repaint() används för att på nytt rita upp det som metoden paint() beskriver. Övning: Metoden settext() Klassen TextField har en metod, settext(), med vilken man kan tilldela en textruta ett värde. Testa: I init()-metoden (efter att inruta instansierats) skriv satsen inruta.settext("olle"); Kompilera och kör. Nu visar inrutan från början texten Olle Övning: Textfältet kan lyssna! Lägg in en lyssnare även på textfältet: Skriv in denna sats i init()-metoden inruta.addactionlistener(this); Spara, kompilera, kör appleten. Skriv in ett namn i textfältet och tryck på ENTER. Du får samma reaktion som om du tryckt på knappen. Övning: Snyggare utskrift Gör så att utskriften i appleten KompoTest får större storlek och skrivs i färg.
13 Kap 5: Sid 13 Förvandla strängar till tal Övning: Matte1 Skriv in följande kod och spara den som Matte1.java i mappen X\java\Matte1 //Övning Matte1 import java.awt.*; import java.applet.*; import java.awt.event.*; public class Matte1 extends Applet implements ActionListener // Deklarationer Label ledtext; TextField inruta1, inruta2; Button knapp; int x, y, sum ; public void init() ledtext = new Label("Skriv ett tal i varje ruta - tryck knappen"); inruta1 = new TextField(10); inruta2 = new TextField(10); knapp = new Button("Tryck här!"); add(ledtext); add(inruta1); add(inruta2); add(knapp); knapp.addactionlistener(this); inruta1.addactionlistener(this); inruta2.addactionlistener(this); x = 0; y = 0; sum = 0; public void paint(graphics g) g.drawstring("summan är " + sum,10,90); public void actionperformed(actionevent e) x = Integer.parseInt( inruta1.gettext() ); y = Integer.parseInt( inruta2.gettext() ); sum = x + y; repaint(); Kommentar: Vi deklarerar tre variabler av primitiv datatyp (heltal, dvs int). De heter x, y och sum I metoden init tilldelas dessa ett initialvärde (noll) Två inmatningsrutor (TextField-objekt) är deklarerade: inruta1 och inruta2 I metoden paint står det: g.drawstring("summan är " + sum,10,90); Om man konkatenerar en sträng med ett tal på detta sätt så blir resultatet en sträng. Om variabeln sum har värdet 375 så kommer strängen Summan är 375 att skrivas ut.
14 Kap 5: Sid 14 I metoden actionperformed finns en ny metod, parseint(): Du vet sedan förra exemplet att metoden gettext() ger den text (de bokstäver eller siffror) som skrivs in i en textruta. Om vi t ex matar in en 1:a, en 2.a och en 3:a får vi textsträngen "123" Ibland (som här) vill vi tolka en textsträng (t ex "123") som ett tal istället ( talet 123 ) (Det går ju exempelvis inte att räkna med textsträngar - vare sig de består av bokstäver eller siffror!) Metoden Integer.parseInt(sträng) gör denna förvandling från en textsträng till ett tal! En textsträng! Integer.parseInt( "123" ) Resultatet blir ett tal: 123 Integer är en klass och parseint() är en metod i denna klass. parseint() är en klassmetod (eller statisk metod). En klassmetod är (som du förhoppningsvis minns) en metod som kan användas "direkt" - utan att man behöver skapa ett objekt. Man skriver helt enkelt klassens namn, en punkt samt metodnamnet. Alltså: Integer.parseInt( ) Nu: Kompilera och kör! Summan beräknas om du trycker på knappen, eller om du trycker på ENTER då markören står i någon av inmatningsrutorna! Hur gör man om ett tal till en sträng? Nu vet du hur man gör om en sträng till ett tal. Tvärtom då? Hur gör man om ett tal till en sträng? Vi har redan sett att vi får en sträng om vi konkatenerar en sträng med ett tal. I exemplet ovan: "Summan är " + sum blir en sträng. Man gör om ett tal till en sträng helt enkel genom att sammanfoga talet med en tom sträng! (En tom sträng är två citationstecken utan något däremellan) Exempel: Låt x vara ett (hel- eller flyt-)tal. Motsvarande sträng är x +
15 Kap 5: Sid 15 Aritmetik Aritmetiska operatorer Vi tog upp aritmetiska operatorer redan i kapitel 2. Vi repeterar och gör några tillägg: Antag att x, y och z är heltalsvariabler (int) och att x = 14 och y = 3 Räkneoperation Operator Java-sats z får värdet Benämning Addition + z = x + y; 17 summa Subtraktion - z = x - y; 11 differens Multiplikation * z = x * y; 42 produkt Division / z = x / y; 4 kvot Modulus (se nedan) % z = x % y; 2 rest Heltalsdivision ger 14 3 = Rest Kvot Modulus ger resten vid en heltalsdivision Antag nu att x, y och z är flyttalsvariabler (double) och att x = 14.0 och y = 3.0 Räkneoperation Tecken Java-sats z får värdet Addition + z = x + y; 17.0 Subtraktion - z = x - y; 11.0 Multiplikation * z = x * y; 42.0 Division / z = x / y; (Modulus används ej) Dessutom kan parenteser användas så som i matematiken. Exempel: z = (x + y) * 5 ; Övning: Matte2 Skapa mappen X\java\Matte2 Utgå från klassen Matte1 och skriv klassen Matte2 där du utöver x, y och sum även deklarerar heltalsvariablerna diff, produkt, kvot och rest. Gör så att de inmatade talens summa, differens, produkt, kvot och rest visas då du trycker på knappen. Spara som Matte2.java Kompilera och kör. Övning: Cirkel Skapa mappen X\java\Cirkel Använd samma metodik som i Matte1 för att skriva klassen Cirkel Deklarera variablerna, area, omkrets och pi som flyttal (double) och radie som heltal (int) I init-metoden tilldelas pi = Gör så att radien hos en cirkel kan inmatas i en textruta och då man trycker på en knapp, eller trycker på ENTER, ska cirkelns area och omkrets skrivas ut. Spara som Cirkel.java Kompilera och kör. (Integer.parseInt fungerar så länge du matar in heltalsvärden på radien. Vi återkommer till hur man kan mata in decimaltal ) Komplettera koden så att en cirkel ritas ut i appleten. Låt gärna cirkelns storlek bero av den inmatade radien.
16 Kap 5: Sid 16 Övning: En knapp som tömmer inmatningsrutorna Deklarera ytterligare en knapp (med namnet knapp2 ) i Matte1.java (eller Matte2.java) Button knapp2; Skapa knappobjektet i init()-metoden: knapp2 = new Button("Rensa"); Lägg ut den på appleten: add(knapp2); Se till att även knapp2 "lyssnar" på actionperformed()-metoden: knapp2.addactionlistener(this); Ändra actionperformed()-metoden så här: public void actionperformed(actionevent e) if (e.getsource() == knapp) x = Integer.parseInt( inruta1.gettext() ); y = Integer.parseInt( inruta2.gettext() ); sum = x + y; if (e.getsource() == knapp2) inruta1.settext(""); inruta2.settext(""); sum = 0; Om du trycker på knapp sker tilldelning av variabler och beräkning som tidigare. Om du trycker på knapp2 raderas inmatningsrutorna och variabeln sum sätts till noll repaint(); I if-satsen vill man ofta att flera satser ska utföras om det boolska uttrycket är sant. Då skriver man dessa satser i ett block (inom "krullparenteser) som i exemplet ovan. En utförlig genomgång av if-satsen kommer i nästa kapitel Övning: Stapel igen Öppna Stapeldiagram.java (en övning i kapitel 4) Lägg in tre textrutor och två knappar. När man skrivit in heltal i textrutorna och tryckt på ena knappen ska staplarna få den höjd som talen anger. Om man trycker på den andra knappen ska staplarnas höjd sättas till 0 (noll). (Du ska förstås utnyttja klassen Stapel för att rita staplarna )
17 Kap 5: Sid 17 Omvandla datatyper med cast Antag att du deklarerat följande: int i = 7; double d = i; Normalt måste variabeln som tar emot ett värde vara av samma datatyp som värdet. Dock kan en flyttalsvariabel ta emot ett heltal. (Ett flyttal rymmer mycket mer information än ett heltal) Flyttalet d ovan kommer att få värdet 7.0 Antag nu att du deklarerat följande: double d = 26.87; int i = d; // Fungerar inte! Heltalet i kan inte ta emot ett flyttal. (Ett flyttal rymmer mycket mer information än ett heltal) Hur ska vi göra? I Java kan man få en tillfällig kopia, med annan datatyp, av en variabel: double d = 26.87; int i = (int) d; (int) d är en heltalskopia av flyttalet d. Eftersom heltal inte kan hantera decimaler sker en avhuggning till heltal. i kommer alltså att få värdet 26 Detta förfarande, att arbeta med en tillfällig kopia med annan datatyp, kallas för att man gör en cast I övningen Matte2 ovan arbetar vi med två heltal, x och y Vi utför en heltalsdivision och bestämmer kvoten med satsen kvot = x / y; Om x = 13 och y = 3 blir kvoten 4 eftersom 13/3 = 4 1/3 Antag nu att vi vill utföra beräkningen x/y för att få ett decimaltal. Ett sätt är att först lagra heltalsvärdet x i en flyttalsvariabel och sedan utföra divisionen. Det är elegantare att utföra operationen med hjälp av en cast: Heltalsvariabeln är alltså x Om jag skriver (double)x så skapas en tillfällig flyttalskopia av heltalsvariabeln x Satsen dec_kvot = (double)x / y (där dec_kvot är en flyttalsvariabel) ger då dec_kvot värdet Övning: Matte2 igen Deklarera flyttals(double)variabeln dec_kvot Låt dec_kvot tilldelas enligt ovan. Se till att värdet på dec_kvot skrivs ut Spara kompilera provkör
18 Kap 5: Sid 18 Felhantering Övning: try - catch Kör appleten Matte1 (eller Matte2) igen i appletviewer. Denna gång: Mata av misstag in bokstäver i stället för siffror i inmatningsrutorna och tryck på knappen. I DOS-fönstret som visas bakom appleten anmäls då ett fel att ett NumberFormatException har inträffat. Integer.parseInt()-metoden klarar förstås inte att översätta bokstäver till ett tal I Java kan man fånga upp sådana här fel ( = onormala händelser = undantag = exceptions ) Det sker med hjälp av en så kallad try catch konstruktion. Ändra i koden. Bädda in tilldelnings- och beräkningssatserna i ett try-block, så här: try x = Integer.parseInt( inruta1.gettext() ); y = Integer.parseInt( inruta2.gettext() ); sum = x + y; catch(numberformatexception nfe) Spara kompilera. Provkör dels med siffror i inmatningsrutorna, dels med bokstäver i åtminstone den ena rutan. Om allt fungerar i try-blocket så är det frid och fröjd. Om något går galet i try-blocket så tas felet om hand (inget meddelande i DOS-fönstert), och det som står i catch-blocket utförs. (För närvarande är catch-blocket tomt) Låt oss göra så att ett felmeddelande skrivs ut om vi matar in något som inte är siffror. Deklarera variabeln String felmedd = ; Lägg in kod i catch-blocket: catch(numberformatexception nfe) sum = 0; felmedd = "Du har inte matat in tal!"; Lägg in denna sats i paint()-metoden: g.drawstring(felmedd, 10,120); Lägg till denna sats allra först i actionperformed()-metoden: felmedd = ""; Spara kopilera provkör!
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 merGUI-program med Swing
Swing * Eclipse * Midlets * Android 4 GUI-program med Swing Javas AWT- och Swing-paket Ett GUI-program En JLabel En JButton Om gränssnitt Händelsehantering Skriv in text Mata in tal Aritmetik Typomvandling
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 merDatalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs
Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera först talet 37 med 2. Använd heltalsdivision. Det ger kvoten
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 merObjektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6
Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner
Läs mer2D1339 Programkonstruktion för F1, ht 2004
2D1339 Programkonstruktion för F1, ht 2004 Kontrollskrivning 1 Onsdag 24/11 2004 kl 11.15 12.00 Endast ett svar är rätt på varje fråga! Om mer än ett svar givits blir det noll poäng på frågan. Alla skriftliga
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 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 merTentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34
Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger
Läs merÖvningsuppgifter till föreläsning 2 Variabler och uttryck
Sid 1 (5) Övningsuppgifter till föreläsning 2 Variabler och uttryck Syfte Syftet med övningsuppgifterna är att träna på: Aritmetik, variabler, tilldelning, scanf och printf Generellt Diskutera gärna uppgifterna
Läs mer5. En metod som anropar sig själv a) får inte förekomma i Java-program b) kallas destruktiv c) kallas iterativ d) kallas rekursiv 6. Vilka värden har
Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Exempel på tentafrågor i Java Först följer frågor av flervalstyp. Frågorna är inte ordnade efter svårighetsgrad. 1. Skillnaden mellan typerna int och
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 merAtt prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass.
Datateknik A, Syfte: Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass. Att läsa: Lektion 2 Uppgifter:
Läs merProgrammering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Läs merProgramstruktur 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 merAtt skriva till och läsa från terminalfönstret
Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen
Läs mer2D1339 Programkonstruktion för F1, ht 2003
2D1339 Programkonstruktion för F1, ht 2003 Kontrollskrivning 1 Onsdag 19/11 2003 kl 9.15 10.00 Endast ett svar är rätt på varje fråga! Om mer än ett svar givits blir det noll poäng på frågan. Alla skriftliga
Läs merFactoryCast 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 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 merProgrammeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
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 merKurs i programmering Java Uppgifter
And Action Nu när du skapat olika komponenter ska vi se till att något händer det då vi exempelvis trycker på en knapp. För att hantera det som sker kommer vi använda Actionlistener Övningarna som följer
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs merLaboration 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 merObjektorienterad programmering i Java. Föreläsning 5 Kort om Java-Applets
Objektorienterad programmering i Java Föreläsning 5 Kort om Java-Applets 1 Läsanvisningar Den här föreläsningen syftar till att ge en bild av vad en Java-Applet är och är ganska fristående från föregående
Läs merKungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 2 (20p + 20p = 40 p) ) Lärare, jourhavande lärare :
Läs merBankkonto - ö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 merLaboration 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 merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
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 merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Läs merFrames, menyer och GUI-program
15 Frames, menyer och GUI-program Frames En frame-klass Om konstruktorer - igen Funktionella fönster Menyer Popupmenyer GUI-applikationer Dialogrutor Printerutskrift Kap 15: Sid 2 Frames Redan i kapitel
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merIdag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes
Idag statiska metoder och variabler private/public/protected final, abstrakta klasser, gränssnitt, delegering wrapper classes ett lite större exempel Objectorienterad programmering Sida 1 Vad vi vet om
Läs mer(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java
(Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merDatatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
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 merIntroduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014
Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public
Läs merFÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl
Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i
Läs merArv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }
En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class
Läs merLabb 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 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 merDI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson
DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson Lösningar till TENTAMEN I IXC003 SYSTEMUTVECKLING MED INTERNET/INTRANET, del 1 (5p) för IT3 och INTERNETPROGRAMMERING MED JAVA
Läs merJavas klassbibliotek. Kap 7: Sid 2
7 Mest om metoder Javas klassbibliotek Allmänt om metoder Metoderna i klassen Math Trigonometriska övningar Experiment med slumptal Förvandla sträng till decimaltal Antal decimaler i utskrift Metoder i
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merFöreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2.
Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2. Hur vi jobbar med ett program. 1. Vad vi skriver (med hjälp av redigeringsprogrammet Emacs) på datorn: // Fig. 2.1: Welcome1.java // A first program in
Läs merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merProgrammering för språkteknologer I, VT2012. Rum
Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska
Läs merEDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Läs merKlasser 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 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: Typomvandling, villkor och val, samt textsträngar
Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar
Läs mer2D1342 Programkonstruktion för F1, ht 2006
2D1342 Programkonstruktion för F1, ht 2006 Lappskrivning 1 Tisdag 7/11 2006 kl 11.15 12.00 Endast ett svar är rätt på varje fråga! Om mer än ett svar givits blir det noll poäng på frågan. Alla skriftliga
Läs merJava: Utvecklingsverktyg, datatyper, kontrollstrukturer
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se
Läs merProgrammering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator
Programmering C: Tentamen 2008-05-31 1 of 5 Örebro universitet Institutionen för teknik Thomas Padron-McCarthy (Thomas.Padron-McCarthy@tech.oru.se) Tentamen i Programmering grundkurs och 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 merObjektorienterad programmering med Java Swing: Händelser, lyssnare och applets
GUI (forts) Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets Sven-Olof Nyström Uppsala Universitet 18 mars 2005 Skansholm: Kapitel 6 Användaren kan kommunicera med programmet
Läs merDagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?
Programmeringsteknik och Matlab Övning 6 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs merGrundläggande programmering med C# 7,5 högskolepoäng
Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)
Läs merFöreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera
Föreläsning 2 Variabler, tilldelning och kodblock if-satsen Logiska operatorer Andra operatorer Att programmera Variabler Det är i variabler som all data (information) lagras. Genom att ändra värde på
Läs merGrundläggande programmering
1 Grundläggande programmering Javaprogram Talvariabler Selektioner Teckenvariabler Strängar Iterationer Sammanfattning Övningar Kap 1: Sid 2 Observera! För övningarna i detta kapitel: Skapa en mapp med
Läs merDD1342 Programkonstruktion för F1, ht 2007
DD1342 Programkonstruktion för F1, ht 2007 Lappskrivning 1 Torsdag 22/11 2007 kl 9.15 10.00 Endast ett svar är rätt på varje fråga! Om mer än ett svar markerats räknas det som fel svar. Alla skriftliga
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 merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs mer2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik
2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det riktiga provet tar 45 minuter (en lektionstimme) och det
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 merPROGRAMMERING 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 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 merHej 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 merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
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 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 merAnvändarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Läs merObjektorienterad programmering i Java
bild 1 Objektorienterad programmering i Java Föreläsning 1 Kapitel 1-3 i kursboken Java Software Solutions bild 2 Läsanvisningar Kapitel 1 är en repetition av det ni förväntas kunna sedan tidigare. Det
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 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 merLösningsförslag till tentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Teoretisk Fysik HT 08 Lösningsförslag till tentamen FYTA11 Javaprogrammering Fredag 9:e januari 2009, 09:00 13:00 Uppgift 1: Leta buggar Titta på klasserna A,
Läs merFöreläsning 8 - del 2: Objektorienterad programmering - avancerat
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta
Läs merTENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.
Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om
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 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 merExtramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ ETT Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. Ett av dem är Python, som du ska få
Läs merExempel på användning av arv: Geometriska figurer
(9 maj 2014 Klasshierarkier 1 ) Exempel på användning av arv: Geometriska figurer Uppgift: Skriv ett program som kan hantera några olika geometrisk figurer: linjer, cirklar och rektanglar. (9 maj 2014
Läs mer2I1049 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 merFortsä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 merLaboration 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 merSpråket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
Läs merObjektorienterad Programkonstruktion. Föreläsning 4 8 nov 2016
Objektorienterad Programkonstruktion Föreläsning 4 8 nov 2016 Nästade klasser I Java går det att deklarera en klass inuti en annan klass. Vi kallar detta för att en yttre klass innehåller en inre klass.
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 merTENTAMEN 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 merLite 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 merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 3 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Operatorer Java Standard Library Inmatning Operatorer operatorer En operator är en
Läs mer1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler
1 Datorn som miniräknare I detta avsnitt tas upp hur man kan skriva program som utför enkla räkneoperationer och skriver resultat på skärmen. Syftet är i huvudsak att se hur flera satser kan bygga upp
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 merKlassen javax.swing.timer
Klassen javax.swing.timer I Swing finns en klass Timer som man kan använda för att upprepa en vis kodsekvens med jämna tidsmellanrum. Ett objekt av klassen Timer exekveras som en egen tråd. Ett objekt
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs mer