Grafiskt användargränssnitt (GUI-Graphical User Interface) intro Komponenter
|
|
- Johannes Åkesson
- för 7 år sedan
- Visningar:
Transkript
1 Grafiskt användargränssnitt (GUI-Graphical User Interface) intro Komponenter De komponenter som vi ska titta lite närmare på den här gången är paneler (JPanel), knappar (JButton), textfält (JTextField). Vi fortsätter att använda det mer sofistikerade Swing-paketet, därav J framför klassnamnen. Applikationsfönster (frames) är i sig en behållare och det skulle gå att lägga andra komponenter direkt i fönstret men det är ingen bra sätt att programmera på, utan det bästa här är att skapa en panel (se nedan) och lägga in i fönstret. Det ska man placera i ett lager i fönstert som kallas content pane, som vi måste ta reda på när vi skapat ett fönster. Container contentpane = frame.getcontentpane(); Men mer om detta senare i koden. Panel En panel är en yta som det går att rita och skriva på. Dessutom är den en behållare (containers) för andra komponenter. För att lägga till en panel i vårt fönster skriver vi: JPanel p = new JPanel(); Om vi vill skriva och rita i på vår yta så behöver vi också överlagra ( vi ärver den och förtydligar den) en metod med namnet paintcomponent i vår definiering av vår JPanel-klass. Ex. : class MyPanel extends Jpanel { public void paintcomponent(graphics g) { //kod för att rita och skriva När vi utnyttjar den här metoden får vi köpet med en massa intelligenta funktioner. T ex om ändrar storleken på vårt fönster så känner den av det och ritar om ytan eller om ett annat fönster(t ex vårt utvecklingsmiljöfönster) täcker vårt fönster och vi sen tar bort det så ritar den också om ytan så den alltid är up to date. Dags för första programmet med något inuti vårt fönster Vi bygger vidare på vårt terminerande fönster från förra lektionen. Vårt mål är att skriva ut Tjenare! på skärmen. Det nya är fetmarkerat. package textinwindow; import java.awt.*; import java.awt.event.*; import javax.swing.*; class MyPanel extends JPanel { public void paintcomponent(graphics g) { // för att vara säker på att "super"-klassen gör sitt // anropar vi den metoden, innan vi skriver eller ritar super.paintcomponent(g); //skriv ut en textsträng, samt ange läget i avståndet från //övre vänstra hörnet i x-led åt höger och i y-led neråt g.drawstring(" ** Tjenare kompis!! ** ", 50, 100); class TextInWindow extends JFrame { public TextInWindow() /PB Sida 1
2 { settitle("text i vårt fönster"); Toolkit tk = Toolkit.getDefaultToolkit(); Dimension d = tk.getscreensize(); int screenheight = d.height; int screenwidth = d.width; setsize(screenwidth/2,screenheight/2); //(bredd,höjd) setlocation(screenwidth/4, screenheight/4); MyPanel p = new MyPanel(); setvisible(true); setdefaultcloseoperation(exit_on_close); public class TestTextInWindow { public static void main(string args[]) { JFrame mywindow = new TextInWindow(); Alltid något, sakta men säkert framåt. Nu ska vi gå igenom två komponenter i rask takt som vi sen ska placera i vårt fönster. Knappar Den typ av knappar det är frågan om här är alltså vanliga trycknappar som kan tryckas ned för att utföra kommandon eller svara på frågor, exempel på två "kändisknappar" är OK och Avbryt. För att skapa knappen okknapp med texten OK skriver man bara följande: JButton okknapp = new JButton("OK"); Texten som man vill ska stå på knappen anger man alltså som argument till klassen JButtons konstruktormetod. Tyvärr har vi ännu bara fått den visuella knappen och ingen händelse är kopplad till den. Men det kommer. För att t.ex. lägga till knappen okknapp skriver vi bara: add(okknapp); Vi behöver också en händelselyssnare som märker när vi klickar på knappen. okknapp.addactionlistener( this); samt lite mer kod för att ta hand om klicket mer om detta i själva programmet, där vi bättre ser var delarna hamnar. Dags för nästa program med tre knappar Nu ska vi lägga in tre knappar, i vårt förra program, som ställer om färgen på vår bakgrund i fönstret. Det nya är fetmarkerat. Allt det nya hamnar i vår klass MyPanel. package buttontest; import java.awt.*; import java.awt.event.*; import javax.swing.*; class MyPanel extends JPanel implements ActionListener { //Till vår panel måste vi koppla en händelselyssnare, därav "implements // ActionListener" ovan. //Vi måste deklarera våra knappar JButton redbutton; JButton yellowbutton; JButton greenbutton; /PB Sida 2
3 //Vi måste skapa en egen konstruktor för vår panel, som ju körs endast //när vi skapar ett objekt av denna klass. Vi vill ju att när vi skapar //panelen ska också knappar skapas automatiskt. public MyPanel() { //Skapa knapparna redbutton = new JButton("Rött"); yellowbutton = new JButton("Gult"); greenbutton = new JButton("Grönt"); //lägg till dom till det här panelobjektet add(redbutton); add(yellowbutton); add(greenbutton); //koppla på panelens händelselyssnare redbutton.addactionlistener(this); yellowbutton.addactionlistener(this); greenbutton.addactionlistener(this); //Ifall något händer dvs vi klickar på någon av knapparna, så går ett //meddelande till till vår ActionListener. OM detta inträffar så måste //vi ju ta hand om detta och göra något. Vi skriver en metod för det. public void actionperformed(actionevent evt) { Object source = evt.getsource(); //hämta händelsekälla //Definiera en variabel som innehåller en färg Color color=getbackground(); //Testa vilken av knapparna vi tryckte på och //ge variabeln color en färg if (source==redbutton) color=color.red; else if (source==yellowbutton) color=color.yellow; else if (source==greenbutton) color=color.green; setbackground(color); //sätt om färgen på aktuell panel repaint(); //rita om aktuell panel public void paintcomponent(graphics g) { // för att vara säker på att "super"-klassen gör sitt // anropar vi den metoden, innan vi skriver eller ritar super.paintcomponent(g); //skriv ut en textsträng, samt ange läget i avståndet från //övre vänstra hörnet i x-led åt höger och i y-led neråt g.drawstring(" ** Tjenare kompis!! ** ", 50, 100); class TextInWindow extends JFrame { public TextInWindow() { settitle("text i vårt fönster + 3 knappar"); Toolkit tk = Toolkit.getDefaultToolkit(); Dimension d = tk.getscreensize(); int screenheight = d.height; int screenwidth = d.width; setsize(screenwidth/2,screenheight/2); //(bredd,höjd) setlocation(screenwidth/4, screenheight/4); MyPanel p = new MyPanel(); setvisible(true); setdefaultcloseoperation(exit_on_close); /PB Sida 3
4 public class ButtonTest { public static void main(string args[]) { JFrame mywindow = new TextInWindow(); Som du såg så dök det upp nya saker som Object och Color. Vi går inte närmare in på dessa utan konstaterar enbart att variabeln color(här hos oss) är av typen Color och det finns ett antal standardfärger att använda med punktnotation. black, blue, cyan, darkgray, gray, green, lightgray, magenta, orange, pink, red, white, yellow Nu är det nog dags att öva lite, men för den som är snabb så kommer ytterliggare ett program. Ytterliggare utökad applikation med textfält Textfält Ett textfält är helt enkelt ett litet en raders utrymme där användaren kan skriva in text eller programmet skriva ut text. För att skapa textfältet namn med utrymme för 12 tecken skriver man: JTextField textruta = new JTextField( 12 ); När sedan användaren t.ex. skrivit in sitt namn i fältet kan man läsa in namnet till programmet genom att anropa metoden gettext, man skriver alltså: namn = textruta.gettext( ); vi kan också skriva i fältet med metoden settext om vill med textruta.settext( Här står något roligt! ); För att t.ex. lägga till textfältet textruta skriver vi: add(textruta); Nu ska vi utöka applikationen ett textfält som vi kan skriva text i från både programmet och från tangentbordet när vi kör applikationen, och sen en knapp som heter Hälsa fint. Den första textsträngen har stylats lite. Ny kod är fetmarkerad. package testtextinwindow2; import java.awt.*; import java.awt.event.*; import javax.swing.*; class MyPanel extends JPanel implements ActionListener {//Till vår panel måste vi koppla en händelselyssnare, därav "implements // ActionListener" ovan. //Vi måste deklarera våra knappar JButton redbutton; JButton yellowbutton; JButton greenbutton; JButton greetingsbutton; JTextField textruta; //Vi måste skapa en egen konstruktor för vår panel, om ju körs endast //när vi skapar ett objekt av denna klass.vi vill ju att när vi //skapar panelen ska också knappar skapas. public MyPanel() { /PB Sida 4
5 //Skapa knapparna redbutton = new JButton("Rött"); yellowbutton = new JButton("Gult"); greenbutton = new JButton("Grönt"); greetingsbutton = new JButton("Hälsa fint!"); //Skapa textfältet textruta = new JTextField(30); textruta.settext(" Skriv in ditt namn här! "); //lägg till färgknapparna till det här panelobjektet add(redbutton); add(yellowbutton); add(greenbutton); //lägg till textfältet och hälsningsknappen add(textruta); add(greetingsbutton); //koppla på panelens händelselyssnare redbutton.addactionlistener(this); yellowbutton.addactionlistener(this); greenbutton.addactionlistener(this); greetingsbutton.addactionlistener(this); //Ifall något händer dvs vi klickar på någon av knapparna, så går ett //meddelande till till vår ActionListener.OM detta inträffar så måste //vi ju ta hand om detta och göra något. Vi skriver en metod för det. public void actionperformed(actionevent evt) { Object source = evt.getsource(); //hämta händelsekälla //Definiera en variabel som innehåller en färg Color color=getbackground(); //Testa vilken av knapparna vi tryckte på och //ge variabeln color en färg if (source==redbutton) color=color.red; else if (source==yellowbutton) color=color.yellow; else if (source==greenbutton) color=color.green; else if (source==greetingsbutton) { color=color.magenta; String namn=textruta.gettext(); String rad=" ** Tjenare "+namn+"!! ** "; textruta.settext(rad); setbackground(color); //sätt om färgen på aktuell panel repaint(); //rita om aktuell panel public void paintcomponent(graphics g) { // för att vara säker på att "super"-klassen gör sitt // anropar vi den metoden, innan vi skriver eller ritar super.paintcomponent(g); //skriv ut en textsträng, samt ange läget i avståndet från //övre vänstra hörnet i x-led åt höger och i y-led neråt Font myfont = new Font("SansSerif",Font.BOLD,16); g.setfont(myfont); g.drawstring(" Test av knappar och textfält! ", 50, 150); class TextInWindow extends JFrame { public TextInWindow() { settitle("textfält och knappar i vårt fönster"); Toolkit tk = Toolkit.getDefaultToolkit(); Dimension d = tk.getscreensize(); /PB Sida 5
6 int screenheight = d.height; int screenwidth = d.width; setsize(screenwidth/2,screenheight/2); //(bredd,höjd) setlocation(screenwidth/4, screenheight/4); MyPanel p = new MyPanel(); setvisible(true); setdefaultcloseoperation(exit_on_close); public class TestTextInWindow2 { public static void main(string args[]) { JFrame mywindow = new TextInWindow(); Ja, mycket kod blir det!! /PB Sida 6
7 Övningar Övning 1 Skriv in koden för den första applikationen (den som skriver en textsträng på skärmen) och få det att fungera. Samt försök häng med på vad koden betyder eller åtminstone vad de olika delarna gör. Övning 2 Skriv in (komplettera din tidigare kod) koden för den andra applikationen (den med de tre knapparna) och få det att fungera. Samt försök häng med på vad koden betyder eller åtminstone vad de olika delarna gör. Övning 3 Skriv in (komplettera din tidigare kod) koden för den sista applikationen (den med textfältet och ytterliggare en knapp) och få det att fungera. Samt försök häng med på vad koden betyder eller åtminstone vad de olika delarna gör. Övning 4 Utöka applikationen från förra övningen med fler textsträngar och fler knappar. Övning 5 Lek fritt med dessa komponenter. Eventuellt titta i boken och se om du kan förstå hur man fixar ytterliggare komponenter eller via Internet. /PB Sida 7
Lektion 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 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 merFöreläsnings 11 - GUI, Händelsestyrda program, MVC
Föreläsnings 11 - GUI, Händelsestyrda program, MVC Josef Svenningsson Tisdag 20/11 Boken Denna föreläsning går igenom följande sektioner i boken: 10.1 och 10.2 11.1 Notera att kapitel 11 inte finns i boken
Läs merKort om klasser och objekt En introduktion till GUI-programmering i Java
Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på
Läs merITK:P1 Lektion 4. Lektion 4. Lektion 4. Att implementera en spelidé i Java. DSV Peter Mozelius
ITK:P1 Att implementera en spelidé i Java DSV Peter Mozelius import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Lektion4 extends JFrame implements ActionListener { final int
Läs 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 merDenna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se
1 F18-20-2006 Denna vecka Måndag: Ett komplext problem Tisdag: Lektion. Kväll: Essäfrågan distribueras via webben. Dead-line onsdag 17 maj, kl 12.00. Inlämning elektroniskt och på papper. Onsdag: Grafik
Läs merFrivillig Java-swing-Graphics-lab Programmeringsteknik MN1 vt02
Frivillig Java-swing-Graphics-lab Programmeringsteknik MN1 vt02 Denna laboration är frivillig och syftar till att låta dig lära mer om grafik i java. Labben är ganska grundlig och går igenom vad du skall
Läs 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 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 merObjektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015
Objektorienterad Programkonstruktion Föreläsning 3 9 nov 2015 Kursnämnd Namn kommer... UML: Klassdiagram UML: Relationer Ärver från superklass Implementerar gränssnitt Dubbelriktad eller oriktad relation
Läs merTvå designmönster, MVC och Observer/Observable. Objektorienterad programvaruutveckling GU (DIT011)
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 8 Två designmönster, MVC och Observer/Observable. Designrekommendation
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 7 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 7 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Grafiskt användargränssnitt, Swing Layout och komponenter Göra
Läs merMer om grafiska komponenter. Händelsestyrda program
Layout Managers TDA143 I1 Programmerade system Föreläsning 14 (OH-bilder 10) Mer om grafiska komponenter. Händelsestyrda program Utplaceringen av komponenter i en behållare styrs med en Layout Manager.
Läs merTDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3
TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 Laboration 3 Visualisering (och implementering) av sortering Exempel på grafik (med Swing-paketet) Frågor 1 Laboration 3 Visualisering
Läs merDetta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling
Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Fulltentamen vitsord: 3=28p, 4=38p, 5= 48p, max 60p. Max 30p i denna halvtentamen Hjälpmedel:
Läs merFöreläsning 14: Grafik & mera händelsehantering
TDA 545: Objektorienterad programmering Föreläsning 14: Grafik & mera händelsehantering Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag Idag: grafik läs kap 17 Viktigt i denna föreläsning: att rita
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 merFöreläsning 15 (16) Historik (java.awt) Historik (javax.swing) Introduktion till Swing
Föreläsning 15 (16) Introduktion till Swing Historik (java.awt) JDK 1.0 AWT (Abstract Window Toolkit) Paket för gränssnittsprogrammering Har en del nackdelar: Använder s.k. native code Stödjer endast komponenter
Läs 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 merJava-concept och Swing. Swing low, sweet chariot
Java-concept och Swing Swing low, sweet chariot Javas Swing-API En del av Javas standard-api API - application programming interface Ett klassbibiliotek som följer med Java Är designat med många OO-concept
Läs merTDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3
TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 Laboration 3 Visualisering (och implementering) av sortering Exempel på grafik (med Swing-paketet) Frågor 1 Laboration 3 Visualisering
Läs merPROG2 Tenta 2014-05-02 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2
DSV SU/KTH sid 1 (6) PROG2 PROG2 Tenta 2014-05-02 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 Tentan består av tre uppgifter. Max poäng är 38. För betyget E (godkänd) krävs minst
Läs 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 merITK:P1 Föreläsning 8. Verktyget Javadoc. Kommentarer för Javadoc. Multimedia för spelkonstruktion
ITK:P1 Föreläsning 8 Multimedia för spelkonstruktion 1 DSV Peter Mozelius Verktyget Javadoc De flesta program behöver dokumentation I Java finns ett verktyg som genererar HTML- dokumentation på ett enkelt
Läs merLaboration 15 Grafiskt användargränssnitt
Laboration 15 Grafiskt användargränssnitt Avsikten med denna laboration är att du ska träna på att skriva program som använder grafiskt användargränssnitt, dvs program som använder grafiska komponenter
Läs merRita Egna Bilder, Timer
Rita Egna Bilder, Timer Josef Svenningsson November 27, 2012 Grafik Varje gång ett fönster behöver ritas om, pga av att det flyttas eller varit övertäckt, anropas automatiskt en metod som har namnet paintcomponent.
Läs merMalmö högskola 2007/2008 Teknik och samhälle
Laboration Gui Avsikten med denna laboration är att du ska träna på att bygga grafiska användargränssnitt. Spara dina resultat i paketet laborationgui. Längst bak i laborationen finns fullständiga lösningar
Läs merPROG2 Tenta 2013-06-07 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2
DSV SU/KTH sid 1 (6) PROG2 VT13 PROG2 Tenta 2013-06-07 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 Tentan består av tre uppgifter. Max poäng är 38. För betyget E (godkänd) krävs minst
Läs 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 merID1004 Laboration 3, 5-6 November 2012
18-okt-2012/FK ID1004 Laboration 3, 5-6 November 2012 Labben bör göras individuellt. Beräknad tid ca 2 timmar. Instruktionen antar att labben utförs i datasal, med hjälp av den integrerade utvecklingsmiljön
Läs merOOP Objekt-orienterad programmering
OOP F16:1 OOP Objekt-orienterad programmering Föreläsning 16 Grafiska användargränssnitt, GUI Ytor Komponenter Layout-managers Lyssnare GUI - Graphical User Interface OOP F16:2 Man skapar en yta (ett fönster)
Läs 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 merlgammal2.txt // Lösningar till gammal tentamen // Uppgift 1 a
// Lösningar till gammal tentamen // Uppgift 1 a /* Felet beror på att det är klassen på referensen som avgör vilka metoder man får köra på ett objekt, inte klassen på objektet. På rad 5 i klassen C har
Läs 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 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 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 merMVC-mönstret. model-view-control i Swing
MVC-mönstret model-view-control i Swing MVC Tanken bakom MVC (model view control) är att separera uppgifter i ett program från varandra. Model - Den data som behandlas View - Hur användargränssnittet ser
Läs 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 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 merLösningsförslag till tentamen 150317
Uppgift 1 Lösningsförslag till tentamen 150317 1) Sant 2) Falskt. I ett RAM-minne är åtkomsttiden densamma för alla minnesadresser.) 3) Falskt. Det är TCP som använder sig av en fast kommunikationsförbindelse.)
Läs merLiTHehack? Här? lithehack se koma Tisdagar och torsdagar
0 Java och Swing LiTHehack? Här? @ kontakt /. lithehack se. lithehack se koma -, 17 19 Tisdagar och torsdagar Idag grafik menyer kortkomandon pop up-menyer submenyer Skansholm Java direkt upplaga 6 eller
Läs merLaboration 4: Game of Life
Laboration 4: Game of Life Programmerade system I1 Bakgrund: I denna laboration ska vi ägna oss åt Game of Life, vilket är en mycket enkel modell av en population organismer som kan leva, dö och fortplanta
Läs merLaboration 24 Databasen MySQL och java
Laboration 24 Databasen MySQL och java Avsikten med denna laboration är att du ska hämta information ur en eller flera tabeller och visa resultatet i en JTable-komponent. Du ska ändra innehållet i tabellen
Läs merOOP Objekt-orienterad programmering
OOP F16:1 OOP Objekt-orienterad programmering Föreläsning 16 Grafiska användargränssnitt, GUI Ytor Komponenter Layout-managers Lyssnare GUI - Graphical User Interface OOP F16:2 Man skapar en yta (ett fönster)
Läs merTentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: 2:a september 200, klockan 8:30-12:30. Plats: V Ansvarig lärare: Katarina Blom, tel 772 10 0. Läraren besöker tentamen kl 9:30
Läs merRepetitionsföreläsning 2: Quiz & problemlösning med swing Inget nytt material.
TDA 545: Objektorienterad programmering Repetitionsföreläsning 2: Quiz & problemlösning med swing Inget nytt material. Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag En quiz! tinyurl.com/tda545quiz
Läs 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 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öreläsning 13: Swing (GUI), händelser, timer
TDA 545: Objektorienterad programmering Föreläsning 13: Swing (GUI), händelser, timer GUI = graphical user interface Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag Idag: grafiska gränssnitt; läs kap
Läs merObjektorienterad Programmering DAT043. Föreläsning 5 29/1-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)
Objektorienterad Programmering DAT043 Föreläsning 5 29/1-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) 1 Repetition: Arv En subklass ärver alla variabler och metoder från sin superklass.
Läs merApplets med komponenter
5 Applets med komponenter Knappar Om gränssnitt (interface) Händelser Måla om appletytan Etiketter och textrutor Förvandla strängar till tal Aritmetik Omvandla datatyper med cast Felhantering Kap 5: Sid
Läs merProperties. Användbara metoder som kan anropas i propertychanged:
Properties Ett objekt kan ha vissa egenskaper (som beskrivs med instansvariabler). En enkel egenskap X avläses och sätts med metoderna getx() och setx(värde). En indexerad egenskap (från t.ex. en array)
Läs 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 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 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 merPROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2
DSV SU/KTH sid 1 (7) PROG2 PROG2 Tenta 2014-01-17 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 Tentan består av tre uppgifter. Max poäng är 38. För betyget E (godkänd) krävs minst
Läs merLösningsförslag till tentamen
Uppgift 1 a) Sant. b) Sant. c) Sant. Lösningsförslag till tentamen 170818 d) Falskt. IPv6 anger en IP-adress med 132 bitar. e) Falskt. Spoofing åsyftar användning av förfalskad eller lånad identitet på
Läs merLösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 110317 a) Sant. b) Falskt. I ett RAM-minne är åtkomsttiden densamma för alla minnesadresser. c) Falskt. TCP är ett protokoll på transportlagret. d) Falskt. Binärsökning
Läs merLösningsförslag till tentamen
Uppgift 1 a) Falskt! Bitmönstret är 10010111 b) Falskt! Memory Manager handhar Lösningsförslag till tentamen 170609 c) Falskt. En trojansk häst är ett program i förklädnad. Det är således program som på
Läs merLösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel
Lösningar till Fiktiv Tentamen på kursen 2D4135 Objektorienterad programmering, design och analys med Java vt2004 Teoridel T1) (4p) Förklara kort följande grundläggande begrepp inom objektorienterad programmering:
Läs merGrafiska komponenter.
Grafiska komponenter. Kap J5-1 Grafiska användargränssnitt är det moderna alternativet till traditionell terminal-i/o. GUI-programmering bygger på en händelsestyrd flödeskontroll. I Java utförs GUI-programmeringen
Läs 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 merTentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Fredagen 13 januari 2012, 14.00 18.00. Jourhavande lärare: Björn von Sydow, tel 0722/391401. Inga hjälpmedel. Lösningar
Läs merGrafiska 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 merKungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 3 (15p + 20p + 5p = 40 p) Lärare, jourhavande lärare
Läs 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 merKlasshierarkier. Klasser kan byggas på redan definierade klasser
Klasshierarkier Klasser kan byggas på redan definierade klasser på två sätt: Klassobjekt används som dataattribut när en ny klass beskrivs. Exempel: klassen partikel består av ett antal attribut av typen
Läs merFöreläsning 2, vecka 6: Tillstånd i objektorienterade program (och mera interface)
TDA 548: Grundläggande Programvaruutveckling Föreläsning 2, vecka 6: Tillstånd i objektorienterade program (och mera interface) Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Terminologi Vad är en klass?
Läs merModelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Magnus Myréen Modelsvar för Tentamen för Objektorienterad programvaruutveckling,
Läs merTentamen i Objektorienterad programmering E
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA546 Tentamen i Objektorienterad programmering E Måndagen 8 mars 2010, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 1040. Inga hjälpmedel. Lösningar till
Läs merKonstruktion av klasser med klasser
Konstruktion av klasser med klasser Klasser kan byggas på redan denierade klasser genom att klassobjekt används som dataattribut när en ny klass beskrivs. Exempel: Klassen PairOfDice har två attribut attribut
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 merFöreläsning 1, vecka 8: Att förbereda sig för tentan
TDA 548: Grundläggande Programvaruutveckling Föreläsning 1, vecka 8: Att förbereda sig för tentan Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Idag Idag: talar om tentan, förberedelse, exempel, mm. Inget
Läs merInlämningsuppgift 1 Programmeringsteknik MN1 vt02
Inlämningsuppgift 1 Programmeringsteknik MN1 vt02 Denna uppgift skall lösas individuellt och redovisas muntligt vid dator för läraren senast 2002-02-10. 1 Introduktionslaboration Uppgiftens syfte är att
Läs merEfterhand fick vi ett system som vi tyckte var väl anpassat. Vi renskrev kladden (nedan) och började programmera menyerna.
Övning 3 - grupp 10 Övningen gick ut på att sortera givna funktionerna till ett ritprogram in i en meny. Den startsidan vi fick var blank och såg ut som nedan. I denna skulle vi skapa en meny med hjälp
Läs merPROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP och DSV1:P2
DSV SU/KTH sid 1 (6) PROG2 HT12 PROG2 Tenta 2013-03-09 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP och DSV1:P2 Tentan består av tre uppgifter. Max poäng är 38. För betyget E (godkänd) krävs minst 23
Läs merLösningar till tentamen i EDAF25
Lösningar till tentamen i EDAF25 1 juni 2017 Lösning 1 Se figur 1. Figure 1: Tillståndsdiagram espressomaskin Lösning 2 (a) Kompositmönstret (b) Se figur 2 (c) Se figur 3 : Square : Drawing : Group : Circle
Läs merTentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Teoretisk Fysik HT 08 Tentamen FYTA11 Javaprogrammering Fredag 9:e januari 2009, 09:00 13:00 Instruktioner Inga hjälpmedel är tillåtna. Behandla högst en uppgift
Läs merArv och polymorfi. Lite terminologi; Basklass eller superklass: En klass som fungerar som bas för vårt arv. Vi skapar nya klasser utifrån den.
Arv och polymorfi Arv och polymorfi är två centrala begrepp i objektorientering. Arvsmekanismen innebär att vi kan skapa nya klasser utifrån redan existerande klasser. Man gör detta med hjälp av nyckelordet
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Algoritmanalys, Ordo Sortering, Insertionsort
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 merTentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar
Läs merMalmö högskola 2007/2008 Teknik och samhälle
Laboration 13 Avsikten med denna laboration är att du ska använda ett par nya grafiska komponenter. Dessutom ska du göra designen utan hjälp av en layout-manager (enklare). Börja med att skapa paketet
Läs merTentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl
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 mer2I1073 Lektion 2. Lektion 2a. Lektion 2a. Servlets, säkerhet, och filhantering. import java.io.*; import javax.servlet.*; import javax.servlet.http.
2I1073 Lektion 2 Servlets, säkerhet, och filhantering KTH-MI Peter Mozelius import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Lektion2a extends HttpServlet { public void
Läs merPROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2
DSV SU/KTH sid 1 (7) PROG2 PROG2 Tenta 2014-06-03 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 Tentan består av tre uppgifter. Max poäng är 38. För betyget E (godkänd) krävs minst
Läs merFöreläsning 10. Mer om grafiska komponenter Händelsestyrda program. Layout Managers
Föreläsning 10 Mer om grafiska komponenter Händelsestyrda program Layout Managers Utplaceringen av komponenter i en behållare styrs med en layout manager. Det finns olika layout managers: FlowLayout GridLayout
Läs merPROGRAMMERINGSTEKNIK TIN212
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Robin Adams Göteborg 8 June 2018 PROGRAMMERINGSTEKNIK TIN212 Dag: Fredag Datum:
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 mer070602 kl 10.15-15.15
Malmö högskola 1 Tentamen på kursen DA7800, Programmering med Java del II 070602 kl 10.15-15.15 Tillåtna hjälpmedel: En valfri Javabok Vid bedömning av lösningarna tas hänsyn till om dessa uppfyller de
Läs merMonday, November 16, Senaste Labben
Senaste Labben Senaste Labben Strålande resultat (mv 4.6)! Senaste Labben Strålande resultat (mv 4.6)! God objektorientering? Senaste Labben Strålande resultat (mv 4.6)! God objektorientering? God kodhygien?
Läs merKlasser som datastrukturer
Klasser som datastrukturer Ex: du vill skicka ett meddelande som består av text (String), avsändarnamn (String), klockslag (två int). Du kan förstås skicka alla dessa efter varandra. Bättre är att bygga
Läs merFöreläsning 13 Innehåll
Föreläsning 13 Innehåll Arv Repetition Om tentamen Datavetenskap (LTH) Föreläsning 13 HT 2017 1 / 32 Diskutera Här är början på klassen MemoryWindow som använts på en lab. Vad kan menas med extends SimpleWindow?
Läs merLite 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 merLösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 150417 1) c 2) c 3) a 4) b 5) a 6) c 7) b 8) b 9) b 10) a Uppgift 2 Public-key encryption bygger på att man har två nycklar, en publik och en privat. Man måste således
Läs merModelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Magnus Myréen Modelsvar för Tentamen för Objektorienterad programvaruutveckling,
Läs merDUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (8) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt namn, personnummer och e-postadress på försättsbladet. Skriv rent dina svar.
Läs 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 mer