JList, JTree, JTable. JList
|
|
- Kasper Rønning
- 7 år siden
- Visninger:
Transkript
1 JList, JTree, JTable JList
2 JList ListModel ListSelectionModel ListCellRenderer
3 JList View lese vha. get-metoder MVC Modellen Model Controller endre vha. set/ add-metoder endringshendelser
4 JList ListModel JList sitt modell-grensesnitt, altså den delen som fyller modell-rollen ListSelectionModel Håndtering av bruker-interaksjon, altså en del av controller-rollen ListCellRenderer Styrer visning av elementene i lista, altså en del av view-rollen
5 Scrolling JList støtter ikke scrolling. Det må legges på eksplisitt. Det gjøres ved å pakke den inn i en JScrollPane JScrollPane myjscrollpane = new JScrollPane(myJList); myjscrollpane.setverticalscrollbarpolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); add(myjscrollpane);
6 Objekt- : ListDataListener diagram modell : ListModel list : JList model : ListSelectionListener renderer renderer : ListCellRenderer selectionmodel selection : ListSelectionModel : Component
7 Interface ListModel, JList sin modell get-metoder (gir tilgang til data) getsize() størrelsen til lista getelementat(index) elementene i lista lyttere og hendelser registrering av lytter: add/removelistdatalistener(listdatalistener l)
8 Interface ListDataListener JList implementerer denne Void contentschanged(listdataevent e) Sent when the contents of the list has changed in a way that's too complex to characterize with the previous methods. Void intervaladded(listdataevent e) Sent after the indices in the index0,index1 interval have been inserted in the data model. Void intervalremoved(listdataevent e) Sent after the indices in the index0,index1 interval have been removed from the data model.
9 DefaultListModel Alle JList får automatisk en modell av klassen DefaultListModel. Vi kan legge inn en slik direkte: private JList myjlist; private DefaultListModel model; public JListExample_1() { model = new DefaultListModel(); myjlist = new JList(model); model.addelement("linje 1"); model.addelement("linje 2"); model.addelement("linje 3"); add(myjlist); }
10 JList og ListModel... Sentrale teknikk delegering Hendelse-lytter-pattern XxxEvent-klasse XxxListener-interface add/removexxxlistener Sentrale klasser/objekter ListModel ListDataListener ListDataEvent Sentrale metoder : ListDataListener list : JList addlistdatalistener og contentschanged getsize og getelementat 1: addlistdatalistener(listdatalistener) 2: contentschanged(listdataevent) 3: getsize( ) model 4: getelementat(int) mo de ll : Li stmo de l
11 ListSelectionModel Den eneste interaksjonen en JList støtter er tre typer seleksjon: seleksjon av enkelt element seleksjon av sekvens av elementer seleksjon av sett av sekvenser, altså ingen begrensning på seleksjonen Det er JList sin listselectionmodel-property, som håndterer seleksjonen objektet inneholder og manipulerer seleksjonen, basert på brukerens interaksjon modusen (selectionmode-property en) angir hvilken av de tre typene seleksjonslogikk som gjelder
12 Seleksjon ListSelectionModel-klassen håndterer logikken SINGLE_SELECTION Valg av kun ett elemenent Valg av nytt element fjerner eksisterende valg SINGLE_INTERVAL_SELECTION Valg av flere etterfølgende elementer Shift-klikk for å utvide seleksjonen i begge retninger MULTIPLE_INTERVAL_SELECTION Valg uten begrensninger på antall eller intervaller Control-klikk toggler enkelt-elementer Shift-klikk utvider seleksjonen
13 ListSelectionListener JList kringkaster endringer i seleksjonen til sine ListSelectionListenerlyttere Ved å registrere en slik lytter, kan andre klasser/objekter reagere på brukerens endringer i seleksjonen Typisk bruk 1 list-detail- pattern : liste med elementer, med ekstra panel med detaljer Viktige egenskaper vises i lista, med detaljer i et panel ved siden av. Når seleksjonen endres, oppdateres detalj-panelet Typisk bruk 2 Action-objekter bruker seleksjon for å utføre oppgaven sin, dvs. hente ut objekt å utføre aksjon på Seleksjonen brukes også for å aktivere/deaktivere aksjonen
14 ...seleksjon Sentrale teknikker delegering Hendelse-lytter-pattern XxxEvent-klasse XxxListener-interface add/removexxxlistener Sentrale klasser/objekter ListSelectionModel ListSelectionListener ListSelectionEvent Sentrale metoder JList.addListSelectionListener ListSelectionListener.valueChanged list : JList 8: ad dl istse le cti on Liste ne r(l istse le cti on Liste ne r) : L istse le cti on Liste ne r 10: valuechanged(listselectionevent) 9: addlistselectionlistener(listselectionlistener) selectionmodel : ListSelectionModel
15 View-delen av JList ListCellRenderer interface som bygger bro mellom JList sine behov for å tegne rader i lista og Componentsubklasser gjenbruker en eksisterende Component-subklasse for å tegne hver linje i en JList ved å skrive egne komponenter for visning av liste-elementer, kan JList skreddersys visning av egne data
16 JList og ListCellRenderer JList delegerer tegning av hver element i lista til en ListCellRenderer getcellrenderer ListCellRenderer configurerer og returnerer en Component getlistcellrenderercomponent Component-objektet har en (foretrukket) størrelse og kan tegne seg selv getpreferredsize paintcomponent Siste Swing-versjon støtter layout i flere kolonner
17 JList og ListCellRenderer... list : JList 5: getlistcellrenderercomponent(jlist, Object, int, boolean, boolean) renderer renderer : ListCellRenderer 6: getpreferredsize( ) Sentral teknikk delegering Sentrale klasser/objekter ListCellRenderer Component 7: paint(graphics) : Component
18 JList og ListCellRenderer... Omtrentlig sekvens av operasjoner spør ListModel om størrelse getsize() itererer over alle elementene spør om verdi getelementat(int) ber renderer konfigurere og returnere komponent spør om størrelsen og gir plass ber komponenten tegne seg selv posisjon og størrelse huskes slik at en vet hvilke linjer som er hvor for hver linje som endres, gjentas dette, f.eks. verdi, seleksjon og fokus
19 Modeller kan ha modeller Noen ganger ønsker man å ha en felles datamodell for SWING komponenter som har forskjellig type modeller. De kan følgelig ikke ha samme modell direkte. For hver type komponent må det da lages en mellommodell som videreformidler meldinger ned til den egentlige modellen. En slik mellommodeller kalles ofte en adapter eller en wrapper. Generelt er dette et eksempel på design pattern adapter. Se:
20 SliderSpinnerModelExample Design JSlider og JSpinner instanser Når den ene manipuleres følger de andre etter Konstruksjon basert på MVC og SliderSpinnerModel Example-koden JSlider JSpinner
21 AbstractSpinnerModel public abstract class AbstractSpinnerModel extends Object implements SpinnerModel This class provides the ChangeListener part of the SpinnerModel interface that should be suitable for most concrete SpinnerModel implementations. Subclasses must provide an implementation of the minimum, maximum, and value properties and the getnextvalue and getpreviousvalue methods.
22 SpinnerModel A SpinnerModel has three properties, only the first is read/write. Value The current element of the sequence. nextvalue The following element or null if value is the last element of the sequence. previousvalue The preceeding element or null if value is the first element of the sequence. When the the value property changes, ChangeListeners are notified. SpinnerModel may choose to notify the ChangeListeners under other circumstances.
23 DefaultBoundedRangeModel
24 Forskjellige grensesnitt JSlider JSpinner DefaultBoundedRangeModel getmaximum() getminimum() getvalue() getvalueisadjusting() setmaximum(int n) setminimum(int n) setrangeproperties( ) setvalue(int n) setvalueisadjusting(..) firestatechanged() AbstractSpinnerModel getnextvalue() getpreviousvalue() getvalue() setvalue(object value) firestatechanged()
25 SliderSpinnerModelExample Konfigurere instanser felles IntervalValueModel-instans IntervalValueBoundedRangeModel og IntervalValueSpinnerModel lytter begge på IntervalValueModel-instansen JSlider- og JSpinner-instansene lytter på sine modeller SliderSpinnerModelExample lytter ikke på noe! JSlider-instansen manipuleres modellens verdi endres underliggende og felles modell endres hendelser om endring i felles modell sendes til lytterne
26 IntervalValueSpinnerModel Oversetter kall og hendelser mellom JSpinner og IntervalValueModel get-metoder, f.eks. getvalue set-metoder, f.eks. setvalue Hendelser: firepropertychange propertychange JSpinner IntervalValue SpinnerModel IntervalValue Model IntervalValue BoundedRange Model JSlider Tilsvarende for IntervalValueBoundedRangeModel
27 IntervalValueSpinnerModel getvalue JSpinner getvalue IntervalValue SpinnerModel getvalue IntervalValue Model setvalue JSpinner setvalue IntervalValue SpinnerModel setvalue IntervalValue Model propertychange til firestatechanged JSpinner firestatechanged IntervalValue SpinnerModel propertychange IntervalValue Model
28 Forskjellige grensesnitt JSlider JSpinner DefaultBoundedRangeModel getmaximum() getminimum() getvalue() getvalueisadjusting() setmaximum(int n) setminimum(int n) setrangeproperties( ) setvalue(int n) setvalueisadjusting(..) firestatechanged() IntervalValueModel getmaximum() getminimum() getvalue() setmaximum(int n) setminimum(int n) setvalue(int n) AbstractSpinnerModel getnextvalue() getpreviousvalue() getvalue() setvalue(object value) firestatechanged()
29 Class SliderSpinnerModelExample // internal components private JSlider slider; private JSpinner spinner; private IntervalValueModel model; /** * Constructor for objects of class SliderSpinnerModelExample */ public SliderSpinnerModelExample() { // create common model model = new IntervalValueModel(0, 10, 20); // create and configure slider slider = new JSlider(new IntervalValueBoundedRangeModel(model)); slider.setmajortickspacing(5); slider.setminortickspacing(1); slider.setpaintticks(true); slider.setpaintlabels(true); // make new spinner with value 10 spinner = new JSpinner(new IntervalValueSpinnerModel(model)); } // remember to add them to the panel add(slider); add(spinner);
30 Class SliderSpinnerModelExample // internal components private JSlider slider; private JSpinner spinner; private IntervalValueModel model; /** * Constructor for objects of class SliderSpinnerModelExample */ public SliderSpinnerModelExample() { // create common model model = new IntervalValueModel(0, 10, 20); // create and configure slider slider = new JSlider(new IntervalValueBoundedRangeModel(model)); slider.setmajortickspacing(5); slider.setminortickspacing(1); slider.setpaintticks(true); slider.setpaintlabels(true); // make new spinner with value 10 spinner = new JSpinner(new IntervalValueSpinnerModel(model)); Modell } // remember to add them to the panel add(slider); add(spinner); Mellommodeller
31 slider : JSlider boundedrangemodel : IntervalValueBoundedRangeModel spinner : JSpinner spinnermodel : IntervalValueSpinnerModel intervaluevalue : IntervalValueModel addpropertychangelistener() addchangelistener(changelistener) addpropertychangelistener() addchangelistener(changelistener) Bruker drar slider setvalue(int) setvalue(int) propertychange() statechanged(changeevent) propertychange() statechanged(changeevent)
32 SliderSpinnerModelExample 2: addpropertychangelistener() 5: setvalue(int) slider : JSlider 8: statechanged(changeevent) boundedrangemodel : IntervalValueBoundedRangeModel 1: addpropertychangelistener() 6: setvalue(int) 7: propertychange() 3: addintervalvaluelistener(intervalvaluelistener) intervaluevalue : IntervalValueModel 4: addchangelistener(changelistener) 9: propertychange() spinner : JSpinner spinnermodel : IntervalValueSpinnerModel 10: statechanged(changeevent)
Pensum SWING/MCV delen av TDT4180- MMI. Vår 2009 Dag Svanæs, IDI
Pensum SWING/MCV delen av TDT4180- MMI Vår 2009 Dag Svanæs, IDI Pensum Kun de sentrale delene av det som er gjennomgått er direkte eksamensrelevant. Andre deler er relevant for øvinger, men vil ikke bli
DetaljerMVC Model, View, Controller
MVC Model, View, Controller Basert på tredeling av funksjonalitet Modell holder underliggende data View leser og visualiserer data Controller tolker input og endrer data Fordeler kan bytte ut hver enkelt
DetaljerEKSAMEN I FAG TDT4180 - MMI Lørdag 11. august 2012 Tid: kl. 0900-1300
Side 1 av 8 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 - MMI Lørdag
DetaljerEKSAMEN I FAG TDT4180/IT2401 MMI Onsdag 23. mai 2007 Tid: kl. 0900-1300
NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180/IT2401 MMI Onsdag 23.
DetaljerEKSAMEN I FAG TDT4180 - MMI Mandag 4. august 2008 Tid: kl. 0900-1300
Side 1 av 11 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 - MMI Mandag
DetaljerEKSAMEN I FAG TDT4180 MMI Lørdag 15. august 2009 Tid: kl
NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 MMI Lørdag 15. august
DetaljerNORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP LØSNINGSFORSLAG
NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 LØSNINGSFORSLAG EKSAMEN I FAG TDT4180/IT2401
DetaljerEKSAMEN I FAG TDT4180 Menneske-maskin-interaksjon. Lørdag 27. juni 2006 Kl. 09.00 13.00
Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG
DetaljerEksamensoppgave i TDT4180 Menneske-Maskin- Interaksjon (MMI)
Institutt for Datateknikk og Informasjonsvitenskap Eksamensoppgave i TDT4180 Menneske-Maskin- Interaksjon (MMI) Faglig kontakt under eksamen: Dag Svanæs Tlf.: 91897536 Eksamensdato: 5. August Eksamenstid
DetaljerEKSAMEN I FAG TDT4180 - MMI Lørdag 4. juni 2005 Tid: kl. 0900-1300
Side 1 av 7 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 - MMI Lørdag
DetaljerEksamensoppgave i TDT4180 Menneske-maskin-interaksjon
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4180 Menneske-maskin-interaksjon Faglig kontakt under eksamen: Hallvard Trætteberg Tlf.: 91897263 Eksamensdato: 31. mai Eksamenstid
DetaljerEKSAMEN I FAG TDT4180 MMI Torsdag 27. mai 2010 Tid: kl. 0900-1300
NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 MMI Torsdag 27. mai 2010
DetaljerEKSAMEN I FAG TDT4180 MMI Onsdag 28. mai 2008 Tid: kl. 0900-1300
NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Hallvard Trætteberg, Tlf: 73 59 34 43 EKSAMEN I FAG TDT4180 MMI Onsdag 28.
DetaljerEKSAMEN I FAG TDT MMI Mandag 15. august 2011 Tid: kl
Side 1 av 9 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 - MMI Mandag
DetaljerEKSAMEN I FAG TDT4180 - MMI Lørdag 26. mai 2012 Tid: kl. 0900-1300
Side 1 av 9 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 - MMI Lørdag
DetaljerKonseptuell modell, skjermdesign og konstruksjon
Konseptuell modell, skjermdesign og konstruksjon Vedlegg til øving D3 1. Gjennomgående eksempel 2. Beskrivelse av konseptuell modell 3. Skjermdesign, kobling mot konseptuell modell og oppførsel 4. Dokumentasjon
DetaljerEKSAMEN I FAG TDT4180 MMI Torsdag 27. mai 2010 Tid: kl
NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 MMI Torsdag 27. mai 2010
DetaljerEKSAMEN I FAG SIF8040 - MMI OG GRAFIKK Lørdag 16. august 2003 Tid: kl. 0900-1400
Side 1 av 6 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG SIF8040 - MMI OG GRAFIKK
DetaljerEKSAMEN I FAG TDT4180 MMI Mandag 18. mai 2009 Tid: kl. 0900-1300
NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 MMI Mandag 18. mai 2009
DetaljerMVC i Swing, trinn for trinn
MVC i Swing, trinn for trinn Læringsmål: Forståelse av komponenthierarkier Forståelse av forhold mellom komponent og datamodell Hvordan lage modell for egne type data Bruk av interaksjonsdiagrammer UML
DetaljerINF Notater. Veronika Heimsbakk 10. juni 2012
INF1010 - Notater Veronika Heimsbakk veronahe@student.matnat.uio.no 10. juni 2012 1 Tilgangsnivåer 2 CompareTo Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N no modifier Y Y N N
DetaljerNORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP. Løsningsforslag
NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Hallvard Trætteberg, Tlf: 73 59 34 43 Løsningsforslag EKSAMEN I FAG TDT4180
Detaljercase forts. Alternativ 1 Alternativer Sammensetning Objekt-interaktor med valg
Objekt-interaktor med valg AMS- case forts. Eksemplifisering av modellbasert tilnærming til design av brukergrensesnitt Relatert objekt velges ofte blant mange kandidater Output av kandidat-sett Input
Detaljer29.02.2012. GUI-programmering, del 3 Vinduslyttere Dialogvinduer GUI-komponenten JTable Egne datamodellklasser. En oversikt over kapittel 19 i boka
GUI-programmering, del 3 Vinduslyttere Dialogvinduer GUI-komponenten JTable Egne datamodellklasser LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc191d.php Høgskolen
DetaljerAMS-case forts. Eksemplifisering av modellbasert. tilnærming til design av brukergrensesnitt
AMS-case forts. Eksemplifisering av modellbasert tilnærming til design av brukergrensesnitt Objekt-interaktor med valg Relatert objekt velges ofte blant mange kandidater Output av kandidat-sett Input av
DetaljerObject interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.
Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører
DetaljerGrafisk Brukergrensesnitt
Grafisk Brukergrensesnitt Repetisjonskurs Hva må kunnes? JFrame JPanel JComponents Layouts Listeners jframe Representerer et vindu JComponents legges på vinduet Har en tittel og størrelse Komponenter struktureres
DetaljerEKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00
Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på
DetaljerIN2010: Algoritmer og Datastrukturer Series 2
Universitetet i Oslo Institutt for Informatikk S.M. Storleer, S. Kittilsen IN2010: Algoritmer og Datastrukturer Series 2 Tema: Grafteori 1 Publisert: 02. 09. 2019 Utvalgte løsningsforslag Oppgave 1 (Fra
DetaljerNORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP
Side 1 av 9 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 - MMI Lørdag
DetaljerOppgave 1 (30%) Grensesnittdesign
Side 1 av 7 Oppgave 1 (30%) Grensesnittdesign Firmaet Glade Bad A/S planlegger en ny serie med badefliser for salg i sine butikker. Forretningsideen er at kundene skal kunne designe sine egne mønstre utifra
Detaljer< T extends Comparable<T> > Indre klasser mm. «Det du bør ha hørt om før oblig 4»
< T extends Comparable > Indre klasser mm. «Det du bør ha hørt om før oblig 4» Strukturen i oblig 3 null null null null Personbeholder pl null null Person p "Adnan" michael@ifi.uio.no INF1010 21. februar
DetaljerAlgoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1
Delkapittel 3.1 Grensesnittet Liste Side 1 av 11 Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 3.1 En beholder 3.1.1 En beholder En pappeske er en beholder En beholder er noe vi kan legge ting
DetaljerRepitisjonskurs. Arv, Subklasser og Grensesnitt
Repitisjonskurs Arv, Subklasser og Grensesnitt Subklasser Klasser i OO-programmering representerer typer av objekter som deler et sett med egenskaper. En subklasse har egenskapene til en klasse + ett sett
DetaljerINF1010 Grafisk brukergrensesni3 med Swing og awt del 1 INF1010
Grafisk brukergrensesni3 med Swing og awt del 1 GUI (Graphical User Interface)- programmering Hvordan lage et vindu på skjermen Hvordan legge ulike komponenter i vinduet (trykknapper, tekseelter, tekst,
DetaljerEksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus
// class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen
DetaljerUnit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3
Relational Algebra 1 Unit 3.3 Unit 3.3 - Relational Algebra 1 1 Relational Algebra Relational Algebra is : the formal description of how a relational database operates the mathematics which underpin SQL
DetaljerLøsningsforslag Test 2
Løsningsforslag Test 2 Oppgave 1.1: Interface definerer et grensesnitt som kan implementeres av flere klasser. Dette gir en standardisert måte å kommunisere med objekter av en eller flere relaterte klasser.
DetaljerEKSAMEN I FAG TDT MMI Tirsdag 1. juni 2004 Tid: kl
Side 1 av 5 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 Hallvard Trætteberg, Tlf: 73 59
DetaljerEksamensoppgave i TDT4180 Menneske-maskin-interaksjon
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4180 Menneske-maskin-interaksjon Faglig kontakt under eksamen: Hallvard Trætteberg Tlf.: 91897263 Eksamensdato: 31. mai Eksamenstid
DetaljerDet finnes ingenting. som kan gjøres med interface. men som ikke kan gjøres uten
Interface, Abstract Class... i-120 : H-98 2a. Abstraksjon i JAVA: 1 Det finnes ingenting som kan gjøres med interface i-120 : H-98 2a. Abstraksjon i JAVA: 2 som kan gjøres med bruk av unntak i-120 : H-98
Detaljer1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)
Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)
Detaljerclass Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; }
Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere
DetaljerEKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden.
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2008 kl 09.00 til kl 13.00 Hjelpemidler: 4 A4-sider (2 ark) med valgfritt innhold Kalkulator Faglærer: Mari-Ann
DetaljerForelesning IMT mars 2011
Forelesning IMT2243 17.mars 2011 Dagens : Kvalitetssikring i systemutviklingsprosjekter Konfigurasjonsstyring Teorigjennomgang Demonstrasjon av Subversion SVN v/jon Langseth Pensum : Sommerville kap. 24.1
DetaljerArv. Book book1 = new Book(); book1. title = "Sofies verden" class Book { String title; } class Dictiona ry extends Book {
Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere
DetaljerNorges Informasjonsteknologiske Høgskole
Oppgavesettet består av 6 (seks) sider. Norges Informasjonsteknologiske Høgskole PG4200 Algoritmer og datastrukturer Side 1 av 6 Tillatte hjelpemidler: Ingen Varighet: 3 timer Dato: 6. august 2014 Fagansvarlig:
DetaljerEksamen Oppgave a) public class DayTime { public final int hours, minutes;
Eksamen 2012 Del 1 - Innkapsling (20%) Gitt følgende klasse, som representerer et tidspunkt på dagen: public class DayTime { public final int hours, minutes; public DayTime(int hours, int minutes) { this.hours
DetaljerTDT4100 Objektorientert programmering
Eksamensoppgave i TDT4100 Objektorientert programmering Torsdag 12. august 2010, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikret av Svein Erik Bratsberg. Kontaktperson
DetaljerEKSAMEN I FAG TDT4180 MMI Lørdag 21. august 2010 Tid: kl
NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG TDT4180 MMI Lørdag 21. august
DetaljerGjøre noe i hele treet = kalle på samme metode i alle objekten. Java datastruktur Klassestruktur
Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 12. desember 2008 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 7 sider. Vedlegg: Tillatte hjelpemidler: INF2220
DetaljerINF1010. Grensesnittet Comparable<T>
INF1010 21. februar 2013 Grensesnittet Comparable Stein Michael Storleer Institutt for Informatikk Universitetet i Oslo Interface med parametre interface Utkledd { // T er klassen jeg er utkledd
DetaljerEksamensoppgave i TDT4100 Objektorientert programmering
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4100 Objektorientert programmering Faglig kontakt under eksamen: Hallvard Trætteberg Tlf.: 918 97 263 Eksamensdag: Tirsdag 16. mai
DetaljerDagens forelesning. Husk prøveeksamen Fredag 15/3-13 kl 12 i R1. Iterator-teknikken. Eksempel med bruk av Iterator og Iterable-grensesnittene
Dagens forelesning Iterator-teknikken Hva er en Iterator og hvorfor bruke den? Hvordan virker en Iterator? Vi lager en Iterator for tegnene i en String Iterable-grensesnittet og for-løkker Eksempel med
DetaljerEks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk
Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 6. juni 2006 Tid for eksamen: 1430 1730 Oppgavesettet er på 6 sider. Vedlegg: INF1010 Objektorientert programmering
Detaljer1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)
Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)
DetaljerFactory Patterns Interface Deklarerer at klassen skal bruke et interface (implements i Java) Definerer implementasjoner for alle metodene i interfacet
Factory Patterns Interface Deklarerer at klassen skal bruke et interface (implements i Java) Definerer implementasjoner for alle metodene i interfacet Slide 2 v Factory Method Pattern Class creational
DetaljerINF1010, 21. februar Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF1010, 21. februar 2013 Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Ikke noe nytt her From the Java language specification (version 6): 14.14.2
DetaljerLO191D/LC191D Videregående programmering eksamen des. 2009
LO191D/LC191D Videregående programmering eksamen des. 2009 Løsningsforslag Oppgave 1 abstract class Vare { private final int varenr; private final String navn; private double pris; private final int grense;
DetaljerKapittel 7: Mer om arv
Kapittel 7: Mer om arv Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag,
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
Detaljerpnvdb Documentation Release Jan Tore Kyrdalen
pnvdb Documentation Release 0.1.0 Jan Tore Kyrdalen Oct 31, 2017 Contents 1 Installation 3 2 Getting started 5 3 Methods 7 3.1 status................................................... 7 3.2 objekt...................................................
DetaljerLC191D/LO191D Videregående programmering mai 2010
LC191D/LO191D Videregående programmering mai 2010 Løsningsforslag Oppgave 1 Transporttype er en tekst som er felles for klassene AnnenEgenTransport og Kollektivtransport. Vi legger den derfor i klassen
DetaljerLøsningsforslag fra faglærere
Side 1 av 13 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 Hallvard Trætteberg, Tlf: 73 59
DetaljerDagens tema: Eksempel Klisjéer (mønstre) Tommelfingerregler
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Eksempel Klisjéer (mønstre) Tommelfingerregler Institutt for informatikk Dumitru Roman 1 Eksempel (1) 1. The system shall give an overview
DetaljerSERVICE BULLETINE 2008-4
S e r v i c e b u l l e t i n e M a t e r i e l l Materiellsjef F/NLF kommuniserer påminnelse omkring forhold som ansees som vesentlige for å orientere om viktige materiellforhold. Målgruppen for Servicbulletinen
DetaljerOppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre
Oppsummering Kort gjennomgang av klasser etc ved å løse halvparten av eksamen 2012. Klasser Interface Subklasser Klasseparametre Datastrukturer Hva er problemet? Oppgaven Emballasjefabrikken Renpakk skal
DetaljerGUI («Graphical User Interface») del 2
GUI («Graphical User Interface») del 2 Interaksjon med brukeren Hendelsesdrevet programmering Tråder i GUI Se også på Infoskrivet https://www.uio.no/studier/emner/matnat/ ifi/in1010/v18/gui/fx-intro-in1010.pdf
DetaljerTDT4100 Objektorientert programmering
Eksamensoppgave i TDT4100 Objektorientert programmering Mandag 6. august 2012, kl. 15:00-19:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Rune Sætre. Kontaktperson under
DetaljerINF Våren Li' repe$sjon om Tråder og GUI. Stein Gjessing, Ins$tu' for informa$kk, Universitetet i Oslo. Ins$tu' for informa$kk
INF1010 - Våren 2015 Li' repe$sjon om Tråder og GUI Stein Gjessing,, Universitetet i Oslo 1 GUI, tråder og hendelser Op-sys (Win, Linux,..) Ditt Program sin Event Dispatch Thread Hver ting brukeren gjør
DetaljerINF1010 LISTER. Listeelementer og listeoperasjoner. Foran. Bak
LISTER Vanligste datastruktur Mange implementasjonsmåter (objektkjeder, array...) Operasjoner på listen definerer forskjellige typer lister (LIFO, FIFO,...) På norsk bruker vi vanligvis ordet «liste» for
DetaljerINF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF, 22. mai 23 Prøveeksamen 23 (Eksamen 2. juni 22) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Oppgave a Tegn klassehierarkiet for de 9 produkttypene som er beskrevet over. Inkluder også
DetaljerSlope-Intercept Formula
LESSON 7 Slope Intercept Formula LESSON 7 Slope-Intercept Formula Here are two new words that describe lines slope and intercept. The slope is given by m (a mountain has slope and starts with m), and intercept
DetaljerLæringsmål for forelesningen
Læringsmål for forelesningen Objektorientering Abstrakte klasser og grensesnitt, redefinering av metoder Java-programmering Arv og bruk av abstrakte klasser Eclipse Undersøke instanser i Eclipse 1 Dagens
DetaljerINF1010 MVC i tekstbaserte programmer
INF1010 MVC i tekstbaserte programmer Marit Nybakken marnybak@ifi.uio.no 9. februar 2004 Marit har ingen utdanning innen systemutvikling og vet antageligvis ikke hva hun prater om. Hun har dog skumlest
DetaljerUNIVERSITETET I OSLO
BOKMÅL Eksamen i : UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet INF1020 Algoritmer og datastrukturer Eksamensdag : Fredag 15. desember 2006 Tid for eksamen : 15.30 18.30 Oppgavesettet
DetaljerPRIORITETSKØ. Aksjehandel. Datastruktur for aksjehandel. Nøkler og Totalorden-relasjonen
PRIORITETSKØ Applikasjon: aksjehandel ADT (eng: Priority Queue - PQ) Implementering av PQ med sekvenser Sortering vha PQ Mer om sortering Aksjehandel Vi ser på en aksje som kjøpes og selges på børsen.
DetaljerEKSAMEN I FAG TDT4100 Objektorientert programmering. Fredag 6. juni 2008 Kl. 09.00 13.00
NTNU Norges teknisknaturvitenskapelige universitet Side 1 av 11 Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap BOKMÅL EKSAMEN I FAG
DetaljerTDT4100 Objektorientert programmering
Eksamensoppgave i TDT4100 Objektorientert programmering Lørdag 19. mai 2011, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Trond Aalberg. Kontaktperson under
DetaljerObligatorisk oppgave 4: Lege/Resept
Obligatorisk oppgave 4: Lege/Resept INF1010 Frist: mandag 27. mars 2017 kl. 12:00 Versjon 1.0 (111c894 ) Innhold 1 Innledning 1 1.1 Begreper................................ 2 2 Pasienter 2 3 Leger og lister
DetaljerCORBA Component Model (CCM)
CORBA Component Model (CCM) INF5040 Høst 2005 Erlend Birkedal Jan Erik Johnsen Tore Ottersen Løkkeberg Denne presentasjonen CORBA Svakheter ved CORBA Object Model Komponenter CORBA Component Model Hva
DetaljerJDBC. Java Data Base Connec.vity
JDBC Java Data Base Connec.vity Package java.sql Package java.sql Array Blob CallableStatement Clob Connec.on DatabaseMetaData Driver NClob ParameterMetaData PreparedStatement Ref ResultSet ResultSetMetaData
DetaljerFra sekvensielt til parallelt
Fra sekvensielt til parallelt «Sanntidprogrammering etter 33 år» Øyvind Teig senior utviklingsingeniør Autronica Fire and Security, «a UTC company» Gjesteforelesning på Høgskolen i Sør-Trøndelag (HiST)
DetaljerObjektorientert design av kode. Refaktorering.
Objektorientert design av kode. Refaktorering. DEL 1 INF1010-forelesning 2. mars Ragnhild Kobro Runde Læringsmål Kjenne til og kunne bruke viktige prinsipper for god kodedesign. Kunne finne alternative
DetaljerHONSEL process monitoring
6 DMSD has stood for process monitoring in fastening technology for more than 25 years. HONSEL re- rivet processing back in 990. DMSD 2G has been continuously improved and optimised since this time. All
Detaljerbuildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata
buildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata IFD International Framework for Dictionaries Hvordan bygges en BIM? Hva kan hentes ut av BIM? Hvordan
DetaljerGUI 3 JavaFX. Mer interaksjon Hvordan gi input :l programmet. INF1010 Stein Michael Storleer
GUI 3 JavaFX Mer interaksjon Hvordan gi input :l programmet INF1010 Stein Michael Storleer Innhold 1. Ta opp tråden fra sist 2. Input med TextField 3. Anonyme klasser 4. Lytte på alle noder i et grid 5.
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 4. april 2008 Tid for eksamen: 9.00 12.00 Oppgavesettet
DetaljerTrådløsnett med Windows XP. Wireless network with Windows XP
Trådløsnett med Windows XP Wireless network with Windows XP Mai 2013 Hvordan koble til trådløsnettet eduroam med Windows XP Service Pack 3? How to connect to the wireless network eduroam with Windows XP
DetaljerDelegeringsteknikken. public class CD { private List<Tra ck> tracks = new ArrayLis t<track> (); public int gettrack Count() { return tracks.
Delegeringsteknikken Delegering er en teknikk hvor et objekt tilbyr et sett metoder og bruker et internt objekt til å utføre logikken, dvs. delegerer oppgaven til det interne objektet. Delegering i det
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerTillatte hjelpemidler: alle skrevne og trykte. Antall sider: 2 (+ 1 side vedlegg, bakerst). Oppgave 1 [25%]
Bokmål Det Matematisk-naturvitenskapelege fakultet UNIVERSITETET I BERGEN Eksamen i emnet INF101/INF101F Programmering II Tirsdag 28. september 2010, kl. 09-12. Tillatte hjelpemidler: alle skrevne og trykte.
DetaljerFaglærerne prøver å besøker eksamenslokalet mellom klokka 15 og 16 for å oppklare eventuelle uklarheter og feil i oppgaveteksten.
IN1010/INF1010 v2019 Eksamensinfo Eksamen IN1010/INF1010 våren 2019 Tid: 7. juni kl. 14:30-18:30 (4 timer) PRAKTISK INFORMASJON Hvis du synes noen deler av oppgaven er uklare, kan du legge dine egne forutsetninger
DetaljerJuridiske aspekter ved publisering i åpne institusjonelle arkiv
Juridiske aspekter ved publisering i åpne institusjonelle arkiv Professor dr juris Olav Torvund Publisering i åpne institusjonelle arkiv Førstegangspublisering Masteroppgaver Doktoravhandlinger (?) Grålitteratur
DetaljerINF våren 2017
INF1010 - våren 2017 Om Java Objekter og klasser Både for deg som kan og for deg som ikke kan Java Stein Gjessing Universitetet i Oslo Ny versjon etter forlesningen der tre meningsløse private modifikatorer
DetaljerHuman Factors relevant ved subsea operasjoner?
Human Factors relevant ved subsea operasjoner? Arne Jarl Ringstad, Lead Advisor Human Factors and Organizational Safety Classification: Internal 2012-01-30 Hva er Human Factors? Human factors is the scientific
Detaljer