Hvordan gjør vi det, to typer av vinduer? Om Grafiske Bruker-Grensesnitt (GUI) GUI (Graphical User Interface)-programmering

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "Hvordan gjør vi det, to typer av vinduer? Om Grafiske Bruker-Grensesnitt (GUI) GUI (Graphical User Interface)-programmering"

Transkript

1 GUI (Graphical User Iterface)-programmerig Uke mars 2007 Grafisk brukergresesitt med Swig og awt Litt Modell Utsy - Kotroll Del I Stei Gjessig Ist for Iformatikk Uiv. i Oslo I dag (så lagt vi kommer) Hvorda lage et vidu på skjerme Hvorda legge ulike kompoeter i viduet (trykkapper, tekstfelter, tekst, bilder, mm) Grafikk (tegig i viduet) Grafikk (tegig i viduet) Kort om layout (utlegg? utseede?) av viduer Litt om hvorda Java-programmet vårt fager opp kappetrykk Et meget ekelt Model-Utsy-Kotroll-eksempel Om FIRE uker (tirsdag etter påske): Reste fra i dag (hvis oe igje) Grudigere om hedelsesmodelle og oppfagig av tastaturtrykk, musterykk, musebevegselser. Mer om hvorda få data i fra brukere via viduer (Brukere trykker på kapper, fyller ut data,..) Hvorda får programmet tak i disse data? 2 Om Grafiske Bruker-Gresesitt (GUI) Data i og ut i DOS-viduet oftest ikke aturlig. GUI: Vi dekker bare litt, me ok til å gå videre selv. Javas klassebibliotek for GUI har mer e 300 metoder, me bare et lite atall av disse yttes i praksis. Ofte tar vi utgagspukt i et eksempel som virker og utvider / iskreker dette. Når ma jobber i idustrie, bruker ma ofte verktøy for drag-addrop kostruksjo av GUI. Dere skal lære GUI fra grue av og løse oppgavee med Swig og awt. Java system bestå av et litt eldre system awt, og et litt yere system swig som er bygget på awt. Me Ikke alt er skrevet om, så vi treger i este alle programmer å importere begge (-merk javax): import javax.swig.*; (De klasser som begyer på J er swig, reste er awt.) Hvorda gjør vi det, to typer av viduer? Kalsse JFrame lager viduer. Ka ete bruke JFrame som de er, eller Lage e subklasse av JFrame og legge til de spesielle kode vi øsker i subklasse. Eksempel: 3 4

2 Bruke klasse JFrame som de er Subklasse av JFrame (mest valig) import javax.swig.*; import javax.swig.*; class RammeDemo { public static void mai(strig[] args) { JFrame ramme = ew JFrame("JFrameDemo"); ramme.setdefaultcloseoperatio(jframe.exit_on_close); ramme.pack(); ramme.setvisible(true); Type: JFrame Nav: ramme Type: JFrame Nav: ramme class RammeDemo2 exteds JFrame { RammeDemo2() { // startbesvergelse - setter tittel på ramma super("jframedemo"); // avslutigsbesvergelse setdefaultcloseoperatio(jframe.exit_on_close); pack(); setvisible(true); public static void mai(strig[] args) { ew RammeDemo2(); Og etter at vi har dradd litt i det: 5 Og etter at vi har dradd litt i de: 6 Stadard avslutig Et litt bedre Vidu (me fortsatt tomt) Dette bør med i alle viduer setdefaultcloseoperatio(jframe.exit_on_close); Setter x i til å virke valig* pack(); Lager viduet miimalt (dvs. ikke større e de kompoetee det ieholder) setvisible(true); Er ødvedig for at viduet skal vise seg fram på skjerme Først lager vi viduet med alle des felter, trykkkapper,..osv, så viser vi det fram import javax.swig.*; class ForsteVidu exteds JFrame { // Kostruktør. Lager og viser fram et vidu. ForsteVidu() { settitle("første vidu"); // istedefor kall på super setsize(300, 200); // Sett størrelse i pukter på skjerme setdefaultcloseoperatio(jframe.exit_on_close); setvisible(true); public static void mai(strig[] args) { ew ForsteVidu(); * Prøv ute og se hva som skjer 7 8 Hvorfor har vi ikke med pack()?

3 Det er mage kompoeter i et vidu CotetPae (vidusflate) (kompoeter) Hva gjør vi år vi lager et vidu foreklet versjo (flere pukter for mer kompliserte viduer seere). 1. Vi lager et objekt for viduet, subklasse av JFrame og setter av på ramme 2. Ka sette størrelse setsize(300, 200); 3. Får tak i e peker til viduesflate Cotaier lerret = getcotetpae(); 4. Lager objekter for alle de kompoetee vi vil ha i viduet og legger alle disse i i vidusflate lerret.add(..<peker til et objekt for e kompoet >,...) 5. Setter i at avslutigskappe skal virke: setdefaultcloseoperatio(jframe.exit_on_close); 6. Sier fra at viduet skal vise seg fram setvisible(true); Alle kompoete legges på vidusflate D grafikk tegig i (e del av) viduet Alle klassee i Swig og awt har pait() metoder som kalles år systemet får beskjed om å vise oe på skjerme eks. setvisble(true). Vi kaller aldri disse direkte bare idirekte via repait() og setvisible(true) metodee Vi lager selv vår versjo av pait() eller paitcompoet() år vi vil lage grafikk i e flate f.eks. et JPael Når metodee pait() eller paitcompoet() som vi har laget, kalles fra systemet, får de med e parameter, Graphics g, og det er på dee g vi skal tege 11 import javax.swig.*; class Firkat exteds JPael { Firkat() { // agir foretrukket størrelse på dette lerretet. setpreferredsize(ew Dimesio(200, 200)); public void paitcompoet(graphics g) { // Her teger vi g.drawrect(50, 50, 100, 100); class FirkatDemo exteds JFrame { FirkatDemo() { settitle("firkatdemo"); JPael pael = ew Firkat(); // lag pael med firkat Cotaier lerret = getcotetpae(); // peker til vidusflate lerret.add(pael); // legg firkate i setdefaultcloseoperatio(jframe.exit_on_close); pack( ); setvisible(true); // gjør kompoetee sylig public static void mai(strig[] args) { ew FirkatDemo(); 12

4 10 firkater public void paitcompoet (Graphics g) { for (it i = 0; i < 100; i += 10) g.drawrect(50+i, 50+i, 100+i, 100+i); public void paitcompoet (Graphics g) { for (it i = 0; i < 100; i += 10){ g.setcolor(color.cya); g.fillrect(10+i, 10+i, 100+i, 100+i); g.setcolor(color.white); g.drawrect(10+i, 10+i, 100+i, 100+i); Tekst og lijer Bytter ut class Firkat i eksempelet: class Firkat exteds JPael { it topp = 50, kat= 100, vside= 40; Firkat( ) { setpreferredsize(ew Dimesio(vside+kat+vside, topp+kat+30)); public void paitcompoet(graphics g) { super.paitcompoeet(g); // prøv med og ute g.setcolor(color.cya); g.fillrect(vside, topp, kat, kat); g.setcolor(color.black); Fot skrift = ew Fot("SasSerif",Fot.BOLD,12); g.setfot(skrift); g.drawstrig("firkat",vside+5,topp + kat/2); g.setcolor(color.white); g.drawlie(vside+5,topp+kat/2+5,vside+kat-5,topp+kat/2+5); Seere skal vi lære om: Iterface MouseListeer void mouseclicked(mouseevet e) Ivoked whe the mouse butto has bee clicked (pressed ad released) o a compoet. void mousepressed(mouseevet e) Ivoked whe a mouse butto has bee pressed o a compoet. void mousereleased(mouseevet e) Ivoked whe a mouse butto has bee released o a compoet. void mouseetered(mouseevet e) Ivoked whe the mouse eters a compoet. void mouseexited(mouseevet e) Ivoked whe the mouse exits a compoet. Og vi skal vi lære om: MouseEvet it getbutto() Returs which, if ay, of the mouse buttos has chaged state (blitt klikket på). it getclickcout() Returs the umber of mouse clicks associated with this evet (ekeltklikk, dobbeltklikk). it getx() Returs the horizotal x positio of the evet relative to the source compoet. it gety() Returs the vertical y positio of the evet relative to the source compoet. + ca. 10 adre metoder 15 16

5 Noe kompoeter vi ka legge i JButto: JButto kapp = ew JButto("Trykk her ); E kapp som brukere ka trykke på. Parametere i kostruktøre agir tekste på kappe. JLabel: JLabel etikett = ew JLabel("Skriv i av"); E etikett som ka ieholde ete tekst eller bilder. Brukes ofte som merkelapp til JText-Field. JTextField: JTextField tekstfelt = ew JTextField(30); Et tekstfelt hvor brukere ka skrive i tekst. Metode gettext() returerer tekste i feltet. JTextArea: JTextArea tekstvidu = ew JTextArea(10, 30); Et tekstvidu hvor programmet ka vise fram tekst. Metode gettext() returerer tekste i viduet. JScrollPae: JScrollPae rullevidu = ew JScrollPae(tekstvidu); Lager horisotale og vertikale rullefelt rudt et elemet. Brukes ofte i sammeheg med JTextArea som legges i i rulleviduet. Parametere er elemetet vi øsker lagt i i rulleviduet. JPael (som vi alt har sett) : JPael pael = ew JPael(); Et pael som ka ieholde adre kompoeter. 17 Mer om å lage et pael og legge tig i i det. Deretter legges paelet i i vidusflate // start og avslutig som før, dette er ie i kostruktøre // Først lages elemetee: JButto kapp = ew JButto("Trykk her"); JLabel etikett = ew JLabel("Skriv i av"); JTextField tekstfelt = ew JTextField(30); JTextArea tekstvidu = ew JTextArea(10, 30); JScrollPae rullevidu = ew JScrollPae(tekstvidu); // Lager et pael og legger elemetee til dette. JPael pael = ew JPael(); pael.add(kapp); pael.add(etikett); pael.add(tekstfelt); pael.add(rullevidu); // tekstviduet er ie i rulleviduet //Får tak i peker til vidues lerret og legger paelet i Cotaier lerret = getcotetpae(); // er ie i et JFrame-obj. lerret.add(pael); 18 vidu med kompoeter (ikke bra utseede) Slik det blir år det kommer opp Etter å ha dradd i det (laget midre bredde). Rullefeltet framkommer år vi fyller tekstfeltet 19 To viktige begreper Cotaier Klasse(r) som ka ieholde kompoeter og adre Cotaiere (som igje ka ieholde...) JFrame har e iebygd Cotaier som alt skal legges i som skal i i viduet, og vi får tak i de med: getcotetpae(); Pael er e (subklasse av) Cotaier Layoutmaager Er klasser som automatisk sørger for at det vi legger i (add () ) i e Cotaier blir ordet i e bestemt rekkefølge. og at plasserige av kompoetee blir OK hvis brukere edrer størrelse på viduet. Alle Cotaiere har e bestemt stadard layoutmaager (hvis vi ikke edrer de) JPael har FlowLayout (fra vestre mot høyre (i e (eller flere) rekke(r))) De iebygde Cotaiere i JFrame har BoarderLayout ( fem felt: NORTH, WEST, SOUTH, EAST og CENTER) eks: pael.add(kapp,borderlayout.north); NB: Ulike LayoutMagere har add()-metoder med ulikt atall parametre. Husk å bruk dem riktige (ellers skjer ige tig (?)) 20

6 Layoutmaagers: Layoutmaagere: Bordelayout BoxLayout CardLayout FlowLayout GridBagLayout GridLayout SprigLayout Bruk av BorderLayout (start og slutt som før) Cotaier lerret = getcotetpae(); lerret.setlayout(ew BorderLayout()); lerret.add(ew JButto("NORD"), BorderLayout.NORTH); lerret.add(ew JButto("SØR"), BorderLayout.SOUTH); lerret.add(ew JButto("ØST"), BorderLayout.EAST); lerret.add(ew JButto("VEST"), BorderLayout.WEST); lerret.add(ew JButto("SENTER"),BorderLayout.CENTER); Grid Layout (start og slutt som før) Vi edrer til FlowLayout (start og slutt som før) Cotaier lerret = getcotetpae(); lerret.setlayout(ew GridLayout(3, 2)); // 3 rader, 2 koloer lerret.add(ew JLabel("Forav")); lerret.add(ew JTextField(20)); lerret.add(ew JLabel("Etterav")); lerret.add(ew JTextField(20)); lerret.add(ew JLabel("Telefo")); lerret.add(ew JTextField(20)); Vi legger i radvis i tabelle. Å legge rett i med ew som her, virker ikke hvis vi vil ha iput etterpå Cotaier lerret = getcotetpae(); lerret.setlayout(ew FlowLayout()); lerret.add(ew JLabel("Forav")); lerret.add(ew JTextField(20)); lerret.add(ew JLabel("Etterav")); lerret.add(ew JTextField(20)); lerret.add(ew JLabel("Telefo")); lerret.add(ew JTextField(20)); Vi legger i etter hveradre. (fordi vi ikke har oe pekere til kompoetee)

7 Kombier flere layout i ett vidu settitle("kombilayout"); // Lager kompoetee JButto kapp = ew JButto("Trykk her"); JLabel etikett = ew JLabel("Skriv i av"); JTextField tekstfelt = ew JTextField(30); etikett.setlabelfor(tekstfelt); JTextArea tekstvidu = ew JTextArea(10, 30); JScrollPae rullevidu = ew JScrollPae(tekstvidu); // Beytter GridLayout. JPael tekstpael = ew JPael(); tekstpael.setlayout(ew GridLayout(2, 1)); tekstpael.add(etikett); tekstpael.add(tekstfelt); // Legger paelet og reste av kompoetee i JFrame-e Cotaier lerret = getcotetpae(); lerret.add(tekstpael, BorderLayout.NORTH); lerret.add(rullevidu, BorderLayout.CENTER); lerret.add(kapp, BorderLayout.WEST); Lag ett eller flere JPael, gi dem hver si layout Adder kompoetee i de ulike paelee og evt. også rett i lerret Adder Paelee i lerret E kappe med reaksjo Vi skal lage det aller ekleste programmet vi ka teke oss med é kapp som reagerer på at vi trykker på de ved å gi e utskrift i dos-viduet: C:\javaprog> javac Vidu.java C:\javaprog> java Vidu oe sa hei til meg oe sa hei til meg oe sa hei til meg Hvorda lage e kapp som lytter Hva skjer ved et kappetrykk? JButto kapp; kapp= ew JButto("Hei"); kapp Hei Dette objektet vil syes på skjerme (som e kapp) Legger kappe i i viduet kapp Dette objektet syes på skjerme (som e kapp) Hei kappelytter kapp.addactiolisteer(kappelytter); forteller kjøresystemet at objektet som kappelytter peker på skal ha beskjed år oe skjer med kappe kapp. Objektet som kappelytter peker på blir satt opp som lytter ( actiolisteer ) for kappe kapp. getcotetpae().add(kapp); Koblig i kjøre-systemet kapp.addactiolisteer(kappelyttter); NYTT: Sier fra hvem som skal lytte etter trykk på dee kappe (mer på este side) Dette objektet lytter på kappe actioperformed( ) Når oe trykker på kappe, kaller kjøresystemet metode actioperformed i det objektet som er satt opp som lytter for dee kappe

8 objekt av de ferdiglagde klasse JButto Hei objekt av klasse Vidu (subklasse av JFrame) Klassedatastrukture til class Vidu Vidu ( ) kapp kapp= ew JButto("Hei"); getcotetpae().add(kapp); kappelytter = ew Lytter( ); kapp.addactiolisteer(kappelytter); getcotetpae() setvisible(); setsize(... ) kappelytter mai (...) Frame vidu = ew Vidu(); vidu Vidu-objektet (kostruktøre) order så reste selv. objekt av klasse Vidu (se forrige side) objekt av klasse Lytter (implemets actiolisteer) actioperformed (... ) System.out.pritl("Noe sa hei til meg"); Fullstedig mii-program med bare e kapp (og utskrift i DOS-viduet) import java.awt.evet.*; import javax.swig.*; public class Vidu exteds JFrame { private JButto kapp; private Lytter kappelytter; public Vidu( ) { super("hei test"); Cotaier samlig = getcotetpae(); samlig.setlayout(ew FlowLayout()); setsize(300,200); kapp= ew JButto("Hei"); samlig. add(kapp); setdefaultcloseoperatio(jframe.exit_on_close); setvisible(true); kappelytter = ew Lytter( ); kapp.addactiolisteer(kappelytter); // slutt Vidu kostruktør Metode getcoteetpae() i JFrame returerer bildeflate til dette viduet Her lager vi et lytterobjekt Her kobles kappe opp mot dette Program forts. public static void mai(strig[] args) { JFrame vidu = ew Vidu(); //slutt mai class Lytter implemets ActioListeer { public void actioperformed(actioevet e) { System.out.pritl("Noe sa hei til meg"); // slutt class Lytter // slutt class Vidu C:\javaprog> javac Vidu.java C:\javaprog> java Vidu Noe sa hei til meg Noe sa hei til meg Noe sa hei til meg C:\javaprog> Kjørig (Widows) Dette er lytterklasse! lytterobjektet 31 32

9 Nytt, viktig og ekelt eksempel: Mii-program med tre deler Kotroll Sørger for at datastrukture blir maipulert på riktig måte (økt med é hver gag kappe tykkes) Sørger for at foradriger i datastrukture blir skrevet ut. Utsy E kapp som gir beskjed til kotrolle hver gag de blir trykket på Ka skrive ut e tekst som agir hvorda datastrukture å ser ut (hvor stort tallet er blitt) Modell Datastrukture er bare ett tall med to operasjoer (legg til é og les av) kapptrykket() datastrukt Objekt av class Kotroll Kotroll(){ datastrukt = ew Modell(4); vidu = ew Utsy(this); it tall; datastrukt.oppdater(); tall= datastrukt.hetnyverdi(); vidu.skrivut(tall); it atall; Modell (it tall) { atall = tall; vidu atall Objekt av class JButto kapp Utsy (Kotroll kotrl) super("tre deler eksempel 1"); ktrl = kotrl; ktrl tekst = ew JLabel("Her kommer.. "); getcotetpae(). add(tekst); kapp= ew JButto("Øk"); getcotetpae(). add(kapp); Objekt av class JLabel tekst it hetnyverdi() { retur atall; kapp.addactiolisteer(ew KappLytter); oppdater() { atall ++; skrivut(it tall) { tekst.settext( Tallet er + tall); 33 Objekt av class Modell Objekt av class Utsy 34 public class Kotroll { Modell datastrukt; Utsy vidu; Kotroll(){ datastrukt = ew Modell(4); vidu = ew Utsy(this); public static void mai(strig[] args) { ew Kotroll(); //ed mai public void kapptrykket(){ it tall; datastrukt.oppdater(); tall= datastrukt.hetnyverdi(); vidu.skrivut(tall); // slutt Kotroll - mai er miimal - Kotroll-kostruktøre lager de to adre objektee - actioperformed gjør hadligee (i et eget objekt som lages i Utsyet) 35 class Utsy exteds JFrame { JButto kapp; JLabel tekst; Peker tilbake til Kotroll-objektet Kotroll ktrl; class KappeLytter implemets ActioListeer { // idre klasse public void actioperformed(actioevet e) { ktrl.kapptrykket(); public Utsy(Kotroll kotrl){ og her brukes de super("tre deler eksempel 1"); setfot(ew Fot("Serif",Fot.PLAIN,18)); setsize(400,100); ktrl = kotrl; getcotetpae().setlayout(ew FlowLayout()); tekst = ew Label("Her kommer e meldig"); getcotetpae().add(tekst); // slutt class Utsy kapp= ew Butto("Øk"); getcotetpae().add(kapp); kapp.addactiolisteer(ew KappeLytter()); setdefaultcloseoperatio(jframe.exit_on_close); setvisible(true); // slutt Utsy kostruktør public void skrivut(it tall){ tekst.settext( Tallet er å: + tall + ); 36

10 Datastruktur Kjøresystemet Objekt av class JButto Øk Objekt av class JLabel class Modell{ private it atall; Modell (it tall) { atall = tall; public it hetnyverdi( ) { retur atall; public void oppdater( ) { atall ++; // slutt klass Modell; Som sagt: Ekleste datastruktur vi ka teke oss Objekt av class Kotroll Kotroll() datastrukt = ew Modell(4); vidu = ew Utsy(this); kapptrykket() public void kapptrykket(){ it tall; datastrukt.oppdater(); tall= datastrukt. hetnyverdi(); vidu.skrivut(tall); datastrukt vidu kapp Utsy (Kotroll kotrl)... tekst = ew JLabel("Her kommer e meldig"); getcotetpae().add(tekst); ktrl tekst kapp= ew JButto("Øk"); getcotetpae().add(kapp); kapp.addactiolisteer(ew KappLytter()); objeket av class KappLytter actioperformed (ActioEvet e) { ktrl.kapptrykket(); skrivut(it tall) { lab.settext( Tallet er : + tall); class KappLytter (idre klasse) 37 Objekt av class Utsy 38 For å lytte på e kompoet (repetisjo) Flere kapper: Flere lytterklasser: 1. Lag e metode som beskriver hva som skal gjøres år e bestemte hedelser itreffer. Eksempel: public void actioperformed(actioevet e) {... Metodee skal kalles av Java og må ha et helt bestemte av som er forhådsbestemt av Java-biblioteket (polymorf metode). ekapp = ew JButto( Noe"); ekapp.addactiolisteer(ew NoeSkjer()); stoppkapp = ew JButto("Reboot"); stoppkapp.addactiolisteer(ew Stopp()); 2. Deklarer e lytterklasse ( class MiLytter ) som ieholder hedelsesmetode - dette sikres ved at lytterklasse implemeterer et bestemt iterface. 3. Lag et objekt av lytterklasse og sed referase til dette objektet til de kompoete (f.eks. kappe) som dette objektet skal lytte på. Eksempel: kappe.addactiolisteer(ew MiLytter()); este et frittsvevede objekt (bare kotakt fra Rutime-systemet) 39 Det er mulig å bruke e klasse med e ActioListeer-metode, og test på hvilke kapp som ble trykket på (este side) class Stopp implemets ActioListeer { public void actioperformed(actioevet e) { setvisible(false); // omliggede vidu System.exit (0); // ed ReB class NoeSkjer implemets ActioListeer { public void actioperformed(actioevet e) {..... // ed WaitB 40

11 Flere kapper: ett lytte-objekt Lytte og hete fra tekstfelt class Forskjellig implemets ActioListeer { public void actioperformed(actioevet e) { if (e.getsource( ) = = stoppkapp) { setvisible(false); System.exit (0); else if (e.getsource( ) = = ekapp) {... ActioListeer lytter = ew Forskjellig(); ekapp = ew JButto( Noe"); ekapp.addactiolisteer(lytter); stoppkapp = ew JButto("Reboot"); stoppkapp.addactiolisteer(lytter); 41 ActioListeer lytter = ew ForskjelligLytter();... atall = ew JTextField(, 5); atall.seteditable(true); atall.addactiolisteer(lytter); class ForskjelligLytter implemets ActioListeer { public void actioperformed(actioevet e) { // år CR i tekstfeltet if (e.getsource( ) = = atall) { Strig st = atall.gettext( ); st.seteditable(false); else if... // slutt actio Performed // slutt lytterklasse 42 Ferdigprogrammerte viduer for é opplysig Skal alt på orsk må vi bruke OptioDialog JOptioPae ieholder e rekke ferdige små-viduer De er alle modale (systemet heger til vi har svart) Klasser som ytter disse bør være subklasse av JCompoet Disse fies i ulike variater, ekle og mer omfattede parametre Problem: Vaskelig (umulig) å skrive ree orske viduer import javax.swig.*; class Dialog2Test { import javax.swig.*; class Dialog1Test exteds JCompoet{ public static void mai(strig[] args) { Dialog1Test d = ew Dialog1Test(); Strig s = JOptioPae.showIputDialog(d, "Skriv i av."); JOptioPae.showMessageDialog(d, "Du oppga:"+ s); 43 public static void mai(strig[] args) { Strig [] valg = { "Ja", "Nei" ; it i = JOptioPae.showOptioDialog(ull, Klikk Ja for å fortsette", Advarsel",JOptioPae.DEFAULT_OPTION, JOptioPae.PLAIN_MESSAGE, ull, valg, valg[0]); Strig [] svar = { "Greit"; JOptioPae.showOptioDialog(ull, "Du oppga: " + valg[i], Meldig", JOptioPae.DEFAULT_OPTION, JOptioPae.INFORMATION_MESSAGE, ull, svar, svar[0]); System.exit(0); 44

12 Rullegardier: JComboBox JComboBox styrig = ew JComboBox (); styrig.additem( Opp"); styrig.additem( Ned"); styrig.additem( Vestre"); styrig.additem( Høyre"); styrig.seteditable(false); styrig.additemlisteer(ew RulleLytter);... Class RulleLytter implemets ItemListeer { public void itemstatechaged(itemevet e) { Strig s = (Strig) e.getitem(); if (s.equals( Opp")) {fart++; else if (s.equals( Ned")) {fart - - ; else if (s.equals( Høyre")) {retig = hoyre; else if (s.equals( Vestre")) {retig = vestre; 45

Om Grafiske Bruker-Grensesnitt (GUI) Hvordan gjør vi det, to typer av vinduer? GUI (Graphical User Interface)-programmering

Om Grafiske Bruker-Grensesnitt (GUI) Hvordan gjør vi det, to typer av vinduer? GUI (Graphical User Interface)-programmering Uke9. mars 2005 rafisk brukergresesitt med Swig og awt Litt Modell Utsy - Kotroll Del I Stei jessig Ist for Iformatikk Uiv. i Oslo UI (raphical User Iterface)-programmerig I dag Hvorda få laget et vidu

Detaljer

Vi lærte sist å lage vinduer. Om å lage et vindu. GUI (Graphical User Interface)-programmering. Inf 1010-2007 GUI - del 2

Vi lærte sist å lage vinduer. Om å lage et vindu. GUI (Graphical User Interface)-programmering. Inf 1010-2007 GUI - del 2 GUI (Graphical User Iterface)-programmerig If 1010-2007 GUI - del 2 Stei Gjessig Ist for Iformatikk Uiv. i Oslo Tidligere Hvorda få laget et vidu på skjerme Grafikk (tegig i viduet) Hvorda legge ulike

Detaljer

INF1010 Grafisk brukergrensesni3 med Swing og awt del 1 INF1010

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

Detaljer

import javax.swing.*; import java.awt.*;

import javax.swing.*; import java.awt.*; import javax.swing.*; import java.awt.*; import javax.swing.*; import java.awt.*; Pluss mange Implementasjoner av forskjellige grensesnitt class RammeDemo { public static void main(string[] args) { JFrame

Detaljer

Tråder i Java Parallelle programmmer og programbiter

Tråder i Java Parallelle programmmer og programbiter Oversikt Tråder i Java Parallelle programmmer og programbiter Stei Gjessig, Ist. for iformatikk, Uiv. i Oslo Hva er parallelle programmer? Hvorfor parallelle programmer? Hvorda ka dette skje i e maski

Detaljer

Om Grafiske Bruker-Grensesnitt (GUI) Hvordan gjør vi det: To måter. GUI (Graphical User Interface)-programmering

Om Grafiske Bruker-Grensesnitt (GUI) Hvordan gjør vi det: To måter. GUI (Graphical User Interface)-programmering 4. mars 2008 Grafisk brukergrensesnitt med Swing og awt Litt Modell Utsyn - Kontroll Del I Stein Gjessing Inst for Informatikk Univ. i Oslo GUI (Graphical User Interface)-programmering I dag (så langt

Detaljer

4. mars 2008 Grafisk brukergrensesnitt med Swing og awt Litt Modell Utsyn - Kontroll Del I. Stein Gjessing Inst for Informatikk Univ.

4. mars 2008 Grafisk brukergrensesnitt med Swing og awt Litt Modell Utsyn - Kontroll Del I. Stein Gjessing Inst for Informatikk Univ. 4. mars 2008 Grafisk brukergrensesnitt med Swing og awt Litt Modell Utsyn - Kontroll Del I Stein Gjessing Inst for Informatikk Univ. i Oslo GUI (Graphical User Interface)-programmering I dag (så langt

Detaljer

INF1010. Grafisk brukergrensesni. med Swing og awt del 2. INF1010 - - Grafisk brukergrensesni4 II

INF1010. Grafisk brukergrensesni. med Swing og awt del 2. INF1010 - - Grafisk brukergrensesni4 II INF1010 Grafisk brukergrensesni. med Swing og awt del 2 1 GUI (Graphical User Interface)- programmering n n n Enkel behandling av knappetrykk mm. Layout av vinduer Om å lytte på knappetrykk med musa n

Detaljer

Vi lærte sist å lage vinduer. Om å lage et vindu. GUI (Graphical User Interface)-programmering. Inf 1010-2008 GUI - del 2

Vi lærte sist å lage vinduer. Om å lage et vindu. GUI (Graphical User Interface)-programmering. Inf 1010-2008 GUI - del 2 GUI (Graphical User Interface)-programmering Inf 1010-2008 GUI - del 2 Stein Gjessing Inst for Informatikk Univ. i Oslo Tidligere Hvordan få laget et vindu på skjermen Grafikk (tegning i vinduet) Hvordan

Detaljer

Om Grafiske Bruker-Grensesnitt (GUI) Hvordan gjør vi det: To måter. GUI (Graphical User Interface)-programmering. del 1. Litt Modell Utsyn - Kontroll

Om Grafiske Bruker-Grensesnitt (GUI) Hvordan gjør vi det: To måter. GUI (Graphical User Interface)-programmering. del 1. Litt Modell Utsyn - Kontroll INF1010-3. mars 2009 Grafisk brukergrensesnitt med Swing og awt - del 1 Litt Modell Utsyn - Kontroll Stein Gjessing Inst for Informatikk Univ. i Oslo GUI (Graphical User Interface)-programmering I dag

Detaljer

6108 Programmering i Java. Leksjon 8. GUI: Grafisk brukergrensesnitt. Del 2: 8.3 8.4 Roy M. Istad 2015

6108 Programmering i Java. Leksjon 8. GUI: Grafisk brukergrensesnitt. Del 2: 8.3 8.4 Roy M. Istad 2015 6108 Programmering i Java Leksjon 8 GUI: Grafisk brukergrensesnitt Del 2: 8.3 8.4 Roy M. Istad 2015 // Programforklaring // Noen nye import-setninger GUIprogram.java public class GUIprogram + vindu/hendelser

Detaljer

INF1010 - våren 2007 16. januar, uke 3 - Oversikt og forutsetninger Java datastruktur-tegninger

INF1010 - våren 2007 16. januar, uke 3 - Oversikt og forutsetninger Java datastruktur-tegninger INF1010 - våre 2007 16. jauar, uke 3 - Oversikt og forutsetiger Java datastruktur-tegiger Stei Gjessig Ist. for iformatikk Nye temaer i INF1010 Fra problem til program Software Egieerig light, fasee i

Detaljer

INF1010 Grafisk brukergrensesni3 (GUI) med Swing/awt. del 1

INF1010 Grafisk brukergrensesni3 (GUI) med Swing/awt. del 1 INF1010 Grafisk brukergrensesni3 (GUI) med Swing/awt del 1 1 Hvordan lage et vindu på skjermen 2 Hvordan legge inn enkle elementer i vinduet 3 Hvordan lage et vindu med et sudokuspill 4 Hvordan lage en

Detaljer

Grafisk Brukergrensesnitt

Grafisk 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

Detaljer

Uke mars 2005 GUI - del 2. GUI (Graphical User Interface)-programmering

Uke mars 2005 GUI - del 2. GUI (Graphical User Interface)-programmering Uke10 29. mars 2005 GUI - del 2 Stein Gjessing Inst for Informatikk Univ. i Oslo GUI (Graphical User Interface)-programmering Forrige gang Hvordan få laget et vindu på skjermen Hvordan legge ulike komponenter

Detaljer

Inf 1010 GUI - del 2

Inf 1010 GUI - del 2 Inf 1010 GUI - del 2 Stein Gjessing Institutt for Informatikk Universitetet i Oslo 1 GUI (Graphical User Interface)-programmering Tidligere Hvordan få laget et vindu på skjermen Hvordan legge ulike komponenter

Detaljer

INF1010. Grafisk brukergrensesni. med Swing og awt del 2

INF1010. Grafisk brukergrensesni. med Swing og awt del 2 INF1010 Grafisk brukergrensesni. med Swing og awt del 2 GUI (Graphical User Interface)- programmering u u u Enkel behandling av knappetrykk mm. Layout av vinduer Om å lytte på knappetrykk med musa u Input

Detaljer

GUI - del 2. Stein Gjessing Inst for Informatikk Univ. i Oslo

GUI - del 2. Stein Gjessing Inst for Informatikk Univ. i Oslo Inf 1010-2009 GUI - del 2 Stein Gjessing Inst for Informatikk Univ. i Oslo GUI (Graphical User Interface)-programmering g Tidligere Hvordan få laget et vindu på skjermen Hvordan legge ulike komponenter

Detaljer

Vi lærte sist å lage vinduer. Om å lage et vindu. GUI (Graphical User Interface)-programmering. GUI - del 2

Vi lærte sist å lage vinduer. Om å lage et vindu. GUI (Graphical User Interface)-programmering. GUI - del 2 GUI (Graphical User Interface)-programmering g Inf 1010-2009 GUI - del 2 Stein Gjessing Inst for Informatikk Univ. i Oslo Tidligere Hvordan få laget et vindu på skjermen Hvordan legge ulike komponenter

Detaljer

INF1010 våren 2017 Torsdag 9. februar. Interface - Grensesnitt

INF1010 våren 2017 Torsdag 9. februar. Interface - Grensesnitt INF1010 våre 2017 Torsdag 9. februar Iterface - Gresesitt og litt om geeriske klasser og geeriske iterface hvis tid Stei Gjessig Dages hovedtema Egelsk: Iterface (også et Java-ord) Norsk: Gresesitt Les

Detaljer

Inf mars 2010 GUI del 2

Inf mars 2010 GUI del 2 Inf 1010 11. mars 2010 GUI del 2 Stein Gjessing Ins$tu' for Informa$kk Universitetet i Oslo 1 GUI (Graphical User Interface) programmering Tidligere Hvordan få laget et vindu på skjermen Hvordan legge

Detaljer

INF1010 våren 2005 Uke 3, 25. januar Arv og subklasser del I

INF1010 våren 2005 Uke 3, 25. januar Arv og subklasser del I Emeoversikt subklasser INF1010 våre 2005 Uke 3, 25. jauar Arv og subklasser del I Stei Gjessig Istitutt for iformatikk 1 Geeraliserig - spesialiserig Gjebruk av klasser Ved sammesetig (komposisjo) Ved

Detaljer

INF1010 våren 2017 Torsdag 26. januar. Arv og subklasser del 1. Stein Gjessing Institutt for informatikk Universitetet i Oslo

INF1010 våren 2017 Torsdag 26. januar. Arv og subklasser del 1. Stein Gjessing Institutt for informatikk Universitetet i Oslo INF1010 våre 2017 Torsdag 26. jauar Arv og subklasser del 1 Stei Gjessig Istitutt for iformatikk Uiversitetet i Oslo 1 Når du har lært om subklasser ka du programmere med: Første uke: Spesialiserig (og

Detaljer

INF våren 2005 Uke 1, 11 jan - Praktisk, oversikt og forutsetninger

INF våren 2005 Uke 1, 11 jan - Praktisk, oversikt og forutsetninger INF1010 - våre 2005 Uke 1, 11 ja - Praktisk, oversikt og forutsetiger Stei Gjessig og Stei Michael Storleer Ist. for iformatikk Om INF1010 Forutsetter INF1000 (eller tilsvarede som Humit1700?) Lærebok

Detaljer

Grafiske brukergrensesnitt med Swing og AWT

Grafiske brukergrensesnitt med Swing og AWT Grafiske brukergrensesnitt med Swing og AWT - 1 av 11 INNHOLD INTRODUKSJON 3 VINDUER, RAMMER OG PANELER. 4 KOMPONENTER OG VINDUSELEMENTER 6 KNAPPER OG KNAPPELYTTERE.. 8 LAYOUT.. 10 APPENDIX. 11 2 av 11

Detaljer

Kommentarer til oppgaver;

Kommentarer til oppgaver; Kapittel - Algebra Versjo: 11.09.1 - Rettet feil i 0, 1 og 70 og lagt i litt om GeoGebra-bruk Kommetarer til oppgaver; 0, 05, 10, 13, 15, 5, 9, 37, 5,, 5, 59, 1, 70, 7, 78, 80,81 0 a) Trykkfeil i D-koloe

Detaljer

JPanel. Komponent hieraki. Window/JWindow. Applet/JApplet. JDialog. JFrame

JPanel. Komponent hieraki. Window/JWindow. Applet/JApplet. JDialog. JFrame Komponent hieraki Applet JPanel Component Container JComponent Panel Window JWindow Frame JApplet Dialog Brukes vanligvis som en ekstra container for å få til ønske layout. Legges til som en hvilken som

Detaljer

Mer om utvalgsundersøkelser

Mer om utvalgsundersøkelser Mer om utvalgsudersøkelser I uderkapittel 3.6 i læreboka gir vi e kort iførig i takegage ved utvalgsudersøkelser. Vi gir her e grudigere framstillig av temaet. Populasjo og utvalg Ved e utvalgsudersøkelse

Detaljer

LØSNINGSFORSLAG TIL EKSAMEN I FAG TMA4245 STATISTIKK 6.august 2004

LØSNINGSFORSLAG TIL EKSAMEN I FAG TMA4245 STATISTIKK 6.august 2004 Norges tekisk aturviteskapelige uiversitet Istitutt for matematiske fag Side av 0 LØSNINGSFORSLAG TIL EKSAMEN I FAG TMA4245 STATISTIKK 6.august 2004 Oppgave Midtveiseksame a) X er e stokastisk variabel

Detaljer

INF1010 våren 2006 Uke 19: 9. mai 2006 Et større eksempel: Solitaire (kabal)

INF1010 våren 2006 Uke 19: 9. mai 2006 Et større eksempel: Solitaire (kabal) Det ferdige spillet INF1010 våren 2006 Uke 19: 9. mai 2006 Et større eksempel: Solitaire (kabal) Stein Michael Storleer Institutt for informatikk Dette er kopier av lysark for en forelesning. Sidene er

Detaljer

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert. Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET 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

Detaljer

INF 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

INF 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

Detaljer

ARBEIDSHEFTE I MATEMATIKK

ARBEIDSHEFTE I MATEMATIKK ARBEIDSHEFTE I MATEMATIKK Temahefte r Hvorda du reger med poteser Detaljerte forklariger Av Matthias Loretze mattegriseforlag.com Opplsig: E potes er e forkortet skrivemåte for like faktorer. E potes består

Detaljer

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF 101 - Grunnkurs i objektorientert programmering Eksamensdag : Tirsdag 4. juni 2002 Tid for eksamen : 09.00-15.00 Oppgavesettet

Detaljer

Kapittel 15: Grafiske brukergrensesnitt. Del II

Kapittel 15: Grafiske brukergrensesnitt. Del II Kapittel 15: Grafiske brukergrensesnitt Del II 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

Detaljer

Gjennomgang av eksamen H99

Gjennomgang av eksamen H99 Gjennomgang av eksamen H99 Administrasjon av kurser, studenter og påmeldinger Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for Informatikk Universitetet i Oslo Oppgave 1 (15 %) (Besvares

Detaljer

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER .9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,

Detaljer

OM TAYLOR POLYNOMER. f x K f a x K a. f ' a = lim x/ a. f ' a z

OM TAYLOR POLYNOMER. f x K f a x K a. f ' a = lim x/ a. f ' a z OM TAYLOR POLYNOMER I dette otatet, som utfyller avsitt 6. i Gullikses bok, skal vi se på Taylor polyomer og illustrere hvorfor disse er yttige. Det å berege Taylor polyomer for håd er i prisippet ikke

Detaljer

29.02.2012. GUI-programmering, del 3 Vinduslyttere Dialogvinduer GUI-komponenten JTable Egne datamodellklasser. En oversikt over kapittel 19 i boka

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

Detaljer

INF 1010, vår 2005 Løsningsforslag uke 10

INF 1010, vår 2005 Løsningsforslag uke 10 INF 1010, vår 2005 Løsningsforslag uke 10 Anders Brunland 1. april 2005 Oppgave 1 Oppgave 15.4 i i Rett på Java. Løsningsforslag De forskjellige komponentene settes i metoden initcomponents. Her settes

Detaljer

Stabler, Køer og Lister. ADT er

Stabler, Køer og Lister. ADT er Stabler, er og Lister I. STEL OG QUEUE DT I.1 DT I.2 rray implemetasjo I.3 Liket-Liste implemetasjo II. DQUEUE DT III.IMPLEMENTSJON V EN DT MED EN NNEN DT Kap. 3 (kursorisk: 3.1.3, 3.2.3, 3.4; utatt: 3.2.4,

Detaljer

EKSAMEN. TILLATTE HJELPEMIDLER: Alle trykte og skrevne. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag

EKSAMEN. TILLATTE HJELPEMIDLER: Alle trykte og skrevne. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag KANDIDATNUMMER: EKSAMEN EMNENAVN: Programutvikling EMNENUMMER: IMT3281 EKSAMENSDATO:05/12-2007 KLASSE: 06HBINDA/06HBINDP TID: 09.00 13.00 EMNEANSVARLIG: Øivind Kolloen ANTALL SIDER UTLEVERT: 7 TILLATTE

Detaljer

ILLUSTRATOR enklere enn noensinne. Merete Jåsund, IGM. making. d e s i

ILLUSTRATOR enklere enn noensinne. Merete Jåsund, IGM. making. d e s i ILLUSTRATOR eklere e oesie Merete Jåsud, IGM maki maki Illustrator eklere e oesie I de siste versjoe av Illustrator er eda flere ti blitt redierbare til siste slutt - e trekk som mer e oe aet som har preet

Detaljer

Fagdag 2-3mx 24.09.07

Fagdag 2-3mx 24.09.07 Fagdag 2-3mx 24.09.07 Jeg beklager at jeg ikke har fuet oe ye morsomme spill vi ka studere, til gjegjeld skal dere slippe prøve/test dee gage. Istruks: Vi arbeider som valig med 3 persoer på hver gruppe.

Detaljer

Leica Lino Presis selvhorisonterende punkt- og linjelaser

Leica Lino Presis selvhorisonterende punkt- og linjelaser Impex Produkter AS Verkseier Furuluds vei 15 0668 OSLO Tel. 22 32 77 20 Fax 22 32 77 25 ifo@impex.o www.impex.o Leica Lio Presis selvhorisoterede pukt- og lijelaser Still opp, slå på, klar! Med Leica Lio

Detaljer

Påliteligheten til en stikkprøve

Påliteligheten til en stikkprøve Pålitelighete til e stikkprøve Om origiale... 1 Beskrivelse... 2 Oppgaver... 4 Løsigsforslag... 4 Didaktisk bakgru... 5 Om origiale "Zuverlässigkeit eier Stichprobe" på http://www.mathe-olie.at/galerie/wstat2/stichprobe/dee

Detaljer

EKSAMEN Løsningsforslag

EKSAMEN Løsningsforslag ..4 EKSAMEN Løsigsforslag Emekode: ITF75 Dato: 6. desember Eme: Matematikk for IT Eksamestid: kl 9. til kl. Hjelpemidler: To A4-ark med valgfritt ihold på begge sider. Kalkulator er ikke tillatt. Faglærer:

Detaljer

Forprosjektrapport. I denne rapporten er aktivitet og oppgave ensbetydende. Bruker referer til sluttbrukerne av applikasjonen og ikke administrator.

Forprosjektrapport. I denne rapporten er aktivitet og oppgave ensbetydende. Bruker referer til sluttbrukerne av applikasjonen og ikke administrator. Forprosjektrapport Presetasjo... Itroduksjo... Bakgru... Mål og rammebetigelser... Kravspesifikasjo... Mål... Rammebetigelser... 3 Tekologi... 3 Løsiger/alterativer... 3 Aalyse av virkiger... 7 Presetasjo

Detaljer

CONSTANT FINESS SUNFLEX SMARTBOX

CONSTANT FINESS SUNFLEX SMARTBOX Luex terrassemarkiser. Moterig- og bruksavisig CONSTNT FINESS SUNFLEX SMRTBOX 4 5 6 7 8 Markises hovedkompoeter og mål Kombikosoll og plasserig rmklokker og justerig Parallelljusterig Motordrift og programmerig

Detaljer

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være

Detaljer

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage

Detaljer

INF1010, 21. januar 2016. Klasser med parametre = Parametriserte klasser = Generiske klasser

INF1010, 21. januar 2016. Klasser med parametre = Parametriserte klasser = Generiske klasser INF1010, 21. januar 2016 Klasser med parametre = Parametriserte klasser = Generiske klasser Stein Gjessing Inst. for Informatikk Universitetet i Oslo Først litt repetisjon fra i går class LagBiler { public

Detaljer

Eksempeloppgave 2014. REA3028 Matematikk S2 Eksempel på eksamen våren 2015 etter ny ordning. Ny eksamensordning. Del 1: 3 timer (uten hjelpemidler)

Eksempeloppgave 2014. REA3028 Matematikk S2 Eksempel på eksamen våren 2015 etter ny ordning. Ny eksamensordning. Del 1: 3 timer (uten hjelpemidler) Eksempeloppgave 2014 REA3028 Matematikk S2 Eksempel på eksame våre 2015 etter y ordig Ny eksamesordig Del 1: 3 timer (ute hjelpemidler) Del 2: 2 timer (med hjelpemidler) Mistekrav til digitale verktøy

Detaljer

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm Mer om easyio Mer om forgreninger Løkker 7. september 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 4 1 Tre måter å lese fra terminal Først:

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL Delprøve Kandidatnr: Prøvedato: 2. mars 2005 Varighet: 3 timer (9:00 12:00) Fagnummer: LO196D Fagnavn: Videregående programmering med

Detaljer

Konstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:

Konstruktører. Bruk av konstruktører når vi opererer med enkle klasser er ganske ukomplisert. Når vi skriver. skjer følgende: Konstruktører Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver Punkt p = new Punkt(3,4); class Punkt { skjer følgende: int x, y; 1. Det settes av plass i

Detaljer

Statistikk og økonomi, våren 2017

Statistikk og økonomi, våren 2017 Statistikk og økoomi, våre 07 Obligatorisk oppgave 6 Løsigsforslag Oppgave E terig kastes 0 gager, og det registreres hvor mage 6-ere som oppås i løpet av disse 0 kastee. Vi ka kalle atall 6-ere i løpet

Detaljer

Responsiv design i Muse. Merete Jåsund, IGM AS. making. d e s i

Responsiv design i Muse. Merete Jåsund, IGM AS. making. d e s i Resposiv desi i Muse Merete Jåsud, IGM AS maki d e s i maki maki Resposiv desi i Muse OPPRETTE EN RESPONSIV SITE For å opprette e resposiv ettside, se kapittelet «Opprette e y site» på side 10. Opprett

Detaljer

. Ved sensur vl1 ahe bokstaverte deloppgaver (a, b, c,...) telle like mye.

. Ved sensur vl1 ahe bokstaverte deloppgaver (a, b, c,...) telle like mye. ~KSAMENSOPPGA VE Les gjennom hele oppgavesettet før du begynner A besvare deloppgavene.. Hold deg til de identifikator-navnene som er brukt i oppgaveteksten, dog med unntak av metodenes parametemavn som

Detaljer

Løsningsforslag: Deloppgave om heuristiske søkemetoder

Løsningsforslag: Deloppgave om heuristiske søkemetoder Løsigsforslag: Deloppgave om heuristiske søkemetoder 6. mai 00 Iledig Vi skal betrakte det såkalte grafdeligsproblemet (graph partitioig problem). Problemet ka ekelt formuleres som følger: Gitt e graf

Detaljer

Kapittel 10 fra læreboka Grafer

Kapittel 10 fra læreboka Grafer Forelesigsotat i Diskret matematikk torsdag 6. oktober 017 Kapittel 10 fra læreboka Grafer (utdrag) E graf er e samlig pukter (oder) og kater mellom puktee (eg. odes, vertex, edge). E graf kalles rettet

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2

Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2 Delkapittel 9.2 Rød-svarte og 2-3-4 trær Side 1 av 16 Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2 9.2 Rød-svarte og 2-3-4 trær 9.2.1 B-tre av orden 4 eller 2-3-4 tre Et rød-svart tre og et

Detaljer

Løsning eksamen R1 våren 2010

Løsning eksamen R1 våren 2010 Løsig eksame R våre 00 Oppgave a) ) f ( ) l f ( ) ' l l l l f ( ) (l ) ) g( ) 4e g( ) 4 e ( ) 4 e ( ) g( ) 4( ) e b) ( ) 4 4 6 P ) P() 4 4 6 8 6 8 6 0 Divisjo med ( ) går opp. 4 4 6 : ( ) 8 4 4 8 6 8 6

Detaljer

LØSNING: Eksamen 17. des. 2015

LØSNING: Eksamen 17. des. 2015 LØSNING: Eksame 17. des. 2015 MAT100 Matematikk, 2015 Oppgave 1: økoomi a I optimum av T Rx er dt Rx 0 1 som gir d Ix Kx 0 2 dix dix dkx dkx 0 3 4 dvs. greseitekt gresekostad, q.e.d. 5 b Gresekostad ekstrakostade

Detaljer

Forelesning Elkraftteknikk 1, 17.08.2004 Oppdatert 23.08.2004 Skrevet av Ole-Morten Midtgård. HØGSKOLEN I AGDER Fakultet for teknologi

Forelesning Elkraftteknikk 1, 17.08.2004 Oppdatert 23.08.2004 Skrevet av Ole-Morten Midtgård. HØGSKOLEN I AGDER Fakultet for teknologi Forelesig Elkrafttekikk, 7.08.004 Oppdatert 3.08.004 Skreet a Ole-Morte Midtgård HØGSKOEN I AGDER Fakultet for tekologi Komplekse tall og isere Komplekse tall er sært yttige i aalyse a elkraftsystemer.

Detaljer

M O N T E R I N G S V E I L E D N I N G

M O N T E R I N G S V E I L E D N I N G AvetaSolar solfager M O N T E R I N G S V E I L E D N I N G for Stebråtlia Versjo: 191113 1 Ihold 1. Kompoeter i leverase, AvetaSolar solfager... 3 2. Tegiger, mål og betegelser på kompoeter... 4 3. Forberedelse...

Detaljer

ÅMA110 Sannsynlighetsregning med statistikk, våren 2010 Kp. 6, del 5

ÅMA110 Sannsynlighetsregning med statistikk, våren 2010 Kp. 6, del 5 ÅMA110 Sasylighetsregig med statistikk, våre 2010 Kp. 6, del 5 Bjør H. Auestad Istitutt for matematikk og aturviteskap Uiversitetet i Stavager 12. april Bjør H. Auestad Kp. 6: Hypotesetestig del 4 1/ 59

Detaljer

2T kapittel 3 Modellering og bevis Utvalgte løsninger oppgavesamlingen

2T kapittel 3 Modellering og bevis Utvalgte løsninger oppgavesamlingen T kapittel 3 Modellerig og bevis Utvalgte løsiger oppgavesamlige 301 a Sitthøyde i 1910 blir 170,0 171, 4 170,7. I 1970 blir de 177,1 179, 4 178,3. b Med som atall år etter 1900 og y som sitthøyde i cetimeter

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 4. juni 2015 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 6 sider. Vedlegg:

Detaljer

Econ 2130 uke 15 (HG) Poissonfordelingen og innføring i estimering

Econ 2130 uke 15 (HG) Poissonfordelingen og innføring i estimering Eco 130 uke 15 (HG) Poissofordelige og iførig i estimerig 1 Poissofordelige (i) Tilærmig til biomialfordelige. Regel. ( Poissotilærmelse ) Ata Y ~ bi(, p) E( Y ) = p og var( Y ) = p(1 p). Hvis er stor

Detaljer

INF 1010, vår 2005 Løsningsforslag uke 11

INF 1010, vår 2005 Løsningsforslag uke 11 INF 1010, vår 2005 uke 11 Anders Brunland 11. april 2005 Oppgave 1 Oppgave 1 i kapittel 19, Rett på Java Er følgende metoder lovlige? Hovorfor/hvorfor ikke? a) void koknverter ( int mnd ) { konverterdato

Detaljer

Detaljert løsningsveiledning til ECON1310 seminaroppgave 9, høsten der 0 < t < 1

Detaljert løsningsveiledning til ECON1310 seminaroppgave 9, høsten der 0 < t < 1 Detaljert løsigsveiledig til ECON30 semiaroppgave 9, høste 206 Dee løsigsveiledige er mer detaljert e det et fullgodt svar på oppgave vil være, og mer utfyllede e e valig fasit. De er met som e guide til

Detaljer

Seminaroppgaver IN1010, uke 2

Seminaroppgaver IN1010, uke 2 Seminaroppgaver IN1010, uke 2 1.a: Skriv en klasse HeiVerden.java. Klassen skal inneholde en main- metode (se på notatet fra tidligere). Inne i main -metoden skal programmet først la brukeren oppgi en

Detaljer

Numeriske metoder: Euler og Runge-Kutta Matematikk 3 H 2016

Numeriske metoder: Euler og Runge-Kutta Matematikk 3 H 2016 Numeriske metoder: Euler og Ruge-Kutta Matematikk 3 H 06 Iledig Differesiallikiger spiller e setral rolle i modellerigsproblemer i igeiør viteskap, matematikk, fsikk, aeroautikk, astroomi, damikk, elastisitet,

Detaljer

«Uncertainty of the Uncertainty» Del 5 av 6

«Uncertainty of the Uncertainty» Del 5 av 6 «Ucertaity of the Ucertaity» Del 5 av 6 v/rue Øverlad, Traior Elsikkerhet AS Dette er femte del i artikkelserie om «Ucertaity of the Ucertaity». Jeg skal vise deg utledig av «Ucertaity of the Ucertaity»-formele:

Detaljer

Luktrisikovurdering fra legemiddelproduksjon på Fikkjebakke Screening

Luktrisikovurdering fra legemiddelproduksjon på Fikkjebakke Screening Luktrisikovurderig fra legemiddelproduksjo på Fikkjebakke Screeig Aquateam COWI AS Rapport r: 14-046 Prosjekt r: O-14062 Prosjektleder: Liv B. Heige Medarbeidere: Lie Diaa Blytt Karia Ødegård (Molab AS)

Detaljer

TMA4245 Statistikk Eksamen mai 2017

TMA4245 Statistikk Eksamen mai 2017 TMA445 Statistikk Eksame mai 07 Norges tekisk-aturviteskapelige uiversitet Istitutt for matematiske fag Løsigsskisse Oppgave a Når vi reger ut disse tre sasylighetee må ma huske på at de mulige verdiee

Detaljer

Prøveksamen 2004 INF1010 Operasystemet med GUI + Ordkryss (modifiserte løsninger etter innspill fra forelesningen) Arne Maus Inst for informatikk

Prøveksamen 2004 INF1010 Operasystemet med GUI + Ordkryss (modifiserte løsninger etter innspill fra forelesningen) Arne Maus Inst for informatikk Prøveksamen 2004 INF1010 Operasystemet med GUI + Ordkryss (modifiserte løsninger etter innspill fra forelesningen) Arne Maus Inst for informatikk Oversikt Opera-oppgaven Noen uklare punkter Finne klassene

Detaljer

Klasser, objekter, pekere og UML. INF1000 - gruppe 13

Klasser, objekter, pekere og UML. INF1000 - gruppe 13 Klasser, objekter, pekere og UML INF1000 - gruppe 13 Klasse Beskriver ofte ting fra den virkelige verden Veldig ofte et substantiv (Person, Bok, Bil osv.) class Person { String navn; int alder; } class

Detaljer

Løsningsforslag. Oppgavesettet består av 9 oppgaver med i alt 21 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

Løsningsforslag. Oppgavesettet består av 9 oppgaver med i alt 21 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye. .. Løsigsforslag Emekode: ITF7 Dato:. desember Eme: Matematikk for IT Eksamestid: kl. til kl. Hjelpemidler: To A4-ark med valgfritt ihold på begge sider. Faglærer: Christia F Heide Eksamesoppgave: Oppgavesettet

Detaljer

INF1000: Forelesning 7. Konstruktører Static

INF1000: Forelesning 7. Konstruktører Static INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter

Detaljer

2.1 Polynomdivisjon. Oppgave 2.10

2.1 Polynomdivisjon. Oppgave 2.10 . Polyomdivisjo Oppgave. ( 5 + ) : = + + ( + ):( ) 6 + 6 8 8 = + + c) ( + 5 ) : = + 6 6 d) + + + = + + = + + + 8+ ( ):( ) + + + Oppgave. ( + 5+ ):( ) 5 + + = + ( 5 ): 9 + + + = + + + 5 + 6 9 c) ( 8 66

Detaljer

Oblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000

Oblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000 Oblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000 Leveringsfrist Innleveringsfristen er fredag 14. november kl 16.00. Viktig: se side 4 for detaljerte leveringskrav. Formål Formålet med denne oppgaven

Detaljer

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger I dag INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Litt repetisjon Mer om uttrykk Lesing og skriving til terminal Forgreninger

Detaljer

Gjennomgang prøveeksamen oppgave 1, 2, 4, 5, 7

Gjennomgang prøveeksamen oppgave 1, 2, 4, 5, 7 Gjennomgang prøveeksamen 2014 oppgave 1, 2, 4, 5, 7 1a: Hva er verdien til tall etter at følgende kode er utført: 17 int tall = 5; tall = (tall*3) + 2; 5 15 17 1b: Anta at følgende programsetninger utføres.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UIVERSITETET I OSLO Det matematisk-aturviteskapelige fakultet Eksame i: ST 105 - Iførig i pålitelighetsaalyse Eksamesdag: 8. desember 1992 Tid til eksame: 0900-1500 Tillatte hjelpemidler: Rottma: "Matematische

Detaljer

Registrarseminar 1. april 2003. Ingrid Ofstad Norid

Registrarseminar 1. april 2003. Ingrid Ofstad Norid Registrarsemiar 1. april 2003 Igrid Ofstad Norid Statistikk 570 har fått godkjet søkad om å bli registrar ca. 450 registrarer er aktive i dag 2 5 ye avtaler hver uke på semiaret deltar både registrarer

Detaljer

Kapittel 7: Mer om arv

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

Detaljer

Programmeringsspråk for nybegynnere. Krav til språket. Krav til språket. Krav til språket

Programmeringsspråk for nybegynnere. Krav til språket. Krav til språket. Krav til språket Programmeringsspråk for nybegynnere Krav til språket Hva om vi laget vårt eget språk til INF1000? Programmeringsspråket må være så enkelt som mulig. (Programmering er vanskelig nok som det er.) Hvilke

Detaljer

Eksempeloppgave 2014. REA3026 Matematikk S1 Eksempel på eksamen våren 2015 etter ny ordning. Ny eksamensordning. Del 1: 3 timer (uten hjelpemidler)

Eksempeloppgave 2014. REA3026 Matematikk S1 Eksempel på eksamen våren 2015 etter ny ordning. Ny eksamensordning. Del 1: 3 timer (uten hjelpemidler) Eksempeloppgave 04 REA306 Matematikk S Eksempel på eksame våre 05 etter y ordig Ny eksamesordig Del : 3 timer (ute hjelpemidler) Del : timer (med hjelpemidler) Mistekrav til digitale verktøy på datamaski:

Detaljer

Eksamen 20.05.2009. REA3024 Matematikk R2. Nynorsk/Bokmål

Eksamen 20.05.2009. REA3024 Matematikk R2. Nynorsk/Bokmål Eksame 20052009 REA3024 Matematikk R2 Nyorsk/Bokmål Nyorsk Eksamesiformasjo Eksamestid: Hjelpemiddel på Del 1: Hjelpemiddel på Del 2: Bruk av kjelder: Vedlegg: Framgagsmåte: Rettleiig om vurderiga: 5 timar:

Detaljer

LO191D/LC191D Videregående programmering

LO191D/LC191D Videregående programmering LO191D/LC191D Videregående programmering Eksamen mai 2012 Løsningsforslag Oppgave 1 Klassen Destinasjon: // Oppgaven er uklar på hva som skal inn i klassen Destinasjon. // Her følger en minimumsutgave

Detaljer

OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK

OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK INF1000: Forelesning 6 Klasser og objekter del 1 OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK Motivasjon Anta at vi ønsker å lage et studentregister hvor vi for hver student lagrer, bruker og telefonnummer Med

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Side 1 UNIVERSITETET I OSLO Kandidatnr Det matematisk-naturvitenskapelige fakultet LØSNINGSFORSLAG Eksamen i: PRØVEEKSAMEN INF1000 Eksamensdag: Prøveeksamen 22.11.2011 Tid for eksamen: 12:15-16:15 Oppgavesettet

Detaljer

INF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004

INF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 INF1010 Arv Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 Motivasjon Arv bruker vi så vi skal slippe å skrive oss i hjel. Når vi programmerer, prøver vi gjerne å modellere en del av verden ved hjelp

Detaljer

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse

Detaljer

EKSAMEN Løsningsforslag

EKSAMEN Løsningsforslag 7. jauar 7 EKSAMEN Løsigsforslag Emekode: ITF75 Dato: 4. desember 6 Hjelpemidler: - To A4-ark med valgfritt ihold på begge sider. Emeav: Matematikk for IT Eksamestid: 9. 3. Faglærer: Christia F Heide Kalkulator

Detaljer