INF1010 Grafisk brukergrensesni3 (GUI) med Swing/awt. del 1
|
|
- Helen Holm
- 7 år siden
- Visninger:
Transkript
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 ly:ende knapp i vinduet
2
3 Hvordan lage et vindu på skjermen? Hvordan legge ulike komponenter i vinduet (trykknapper, teks>elter, tekst, bilder, mm)? Kort om layout (utlegg? utseende?) av vinduer Li: om hvordan Java- programmet vårt fanger opp knappetrykk Enklest mulig eksempel
4 GUI i INF1010 Data inn og ut i DOS- /kommandovinduet/shellet ore ikke hensiktsmessig eller brukervennlig. Vi dekker bare li: i INF1010, men nok Ul å gå videre selv. Gjør det le:ere å Uegne seg andre GUI- systemer, for eksempel JavaFX. Javas klassebibliotek for GUI har mer enn 300 metoder, men bare et lite antall av disse ny:es i praksis. ORe tar vi utgangspunkt i et eksempel som virker og dere:er utvider / innskrenker de:e.
5 Når man jobber i industrien, bruker man ofte verktøy for «drag-and-drop» konstruksjon av GUI. I INF1010 lærer vi GUI fra grunnen av og å løse oppgavene med Swing og awt (advanced window toolkit). Forståelse for hvordan Swing/awt er programmert er det viktigste læringsmålet. Javas GUI består av et litt eldre system awt, og et litt nyere system swing som er bygget på awt. Men ikke alt er skrevet om, så vi trenger i nesten alle programmer å importere begge (merk javax): import javax.swing.*; import java.awt.*; (De klasser som begynner med J er swing, resten er awt.)
6 Hvorfor ikke? har mange fordeler, men ikke i boka vi bruker ikke enklere å lære når man bare skal programmere li: GUI ikke enklere å bruke JavaFX er enda mer komplekst, men le:ere å integrere med f.eks. mobiltelefonprogrammer (apper).
7 For å lage et vindu bruker vi et objekt av klassen JFrame:
8
9 Lage vinduet/ramma ved å skape et ny: JFrame- objekt: (komponentmetoden) import javax.swing.*;! import java.awt.*;!! class Gui000 {! public static void main(string [ ] a) {!!!JFrame ramme = new JFrame( Dette er rammetittelen");!!ramme.setdefaultcloseoperation(jframe.exit_on_close);!!ramme.setsize(300, 200);!!ramme.setVisible(true);!! }! }!
10 Hvor mange metoder bruker vi her? Hvor mange finnes det i JFrame? import javax.swing.*;! import java.awt.*;!! class Gui000 {! public static void main(string [ ] a) {!!!JFrame ramme = new JFrame( Dette er rammetittelen");!!ramme.setdefaultcloseoperation(jframe.exit_on_close);!!ramme.setsize(300, 200);!!ramme.setVisible(true);!! }! }!
11 Bruke klassen JFrame som den er import javax.swing.*; import java.awt.*; (komponentmetoden) class Gui000 { public static void main(string [ ] a) { JFrame ramme = new JFrame( Dette er rammetittelen"); ramme.setdefaultcloseoperation(jframe.exit_on_close); ramme.setsize(300, 200); ramme.setvisible(true); } } Type: JFrame Navn: ramme Type: JFrame Navn: ramme Pluss mange Implementasjoner av forskjellige grensesnitt Object-del Component-del Container-del Window-del Frame-del JFrame-del Objekt av klassen JFrame i minne på skjermen
12 Hvordan gjør vi det: To måter Klassen JFrame lager vinduer. Kan enten bruke JFrame som den er, eller Lage en subklasse av JFrame og legge Ul den spesielle koden vi ønsker i subklassen. Eksempel:
13 Subklasse av JFrame (mest vanlig) import javax.swing.*; import java.awt.*; (subklassemetoden) class RammeDemo2 extends JFrame { RammeDemo2() { super( Første vindu"); // En annen måte å sette tittel på rammen setdefaultcloseoperation(jframe.exit_on_close); setsize(300,200); setvisible(true); } public static void main(string[] args) { new RammeDemo2(); } } Object-del Component-del Container-del Window-del Frame-del JFrame-del RammeDemo2-del Objekt av klassen RammeDemo2 i minne på skjermen
14 Standard avslutning De:e bør med i alle vinduer setdefaultcloseoperation(jframe.exit_on_close); Setter x i til å virke vanlig * setvisible(true); er nødvendig for at vinduet skal vise seg fram på skjermen Først lager vi vinduet med alle dens felter, trykknapper,..osv, så viser vi det fram * Prøv uten og se hva som skjer
15 Det er mange komponenter vi kan legge inn i et vindu
16 Hva gjør vi når vi lager et vindu forenklet versjon 1. Vi lager et objekt for vinduet, subklasse av JFrame og se:er navn på rammen 2. Kan se:e størrelsen setsize(300, 200); 3. Lager objekter for alle de komponentene vi vil ha i vinduet og legger alle disse inn i vindusflaten 4. Se:er inn at avslutningsknappen skal virke: setdefaultcloseoperauon(jframe.exit_on_close); 5. Sier fra at vinduet skal vise seg fram setvisible(true);
17 Noen komponenter vi kan legge inn JButton: JButton knapp = new JButton("Trykk her );! En knapp som brukeren kan trykke på. Parameteren i konstruktøren angir teksten på knappen. JLabel: JLabel etikett = new JLabel("Skriv inn navn");! En etikett som kan inneholde enten tekst eller bilder. Brukes ofte som ledetekst til JText-Field. JTextField: JTextField tekstfelt = new JTextField(30); Et tekstfelt hvor brukeren kan skrive inn tekst.
18 Noen komponenter vi kan legge inn JTextArea: JTextArea tekstvindu = new JTextArea(10, 30); Et tekstvindu hvor programmet kan vise fram tekst. JScrollPane: JScrollPane rullevindu = new JScrollPane(tekstvindu); Lager horisontale og vertikale rullefelt rundt et element. Brukes ofte i sammenheng med JTextArea som legges inn i rullevinduet. Parameteren er elementet vi ønsker lagt inn i rullevinduet. Jpanel: JPanel panel = new JPanel(); En flate som kan inneholde andre komponenter. Altså en «indre» ramme som igjen kan inneholde knapper, flater og paneler.
19 Mer om å lage et panel og legge Ung inn i det. Dere:er legges panelet inn i vindusflaten class Gui03 {! public static void main(string [] a) {!!JFrame ramme = new JFrame("Ramme laget med klassen Gui03");!!ramme.setSize(700, 400);!!!JButton knapp = new JButton("Trykk her");!!jlabel etikett = new JLabel("Skriv inn navn");!!jtextfield tekstfelt = new JTextField(30);!!JTextArea tekstvindu = new JTextArea(10, 30);!!JScrollPane rullevindu = new JScrollPane(tekstvindu);!!!JPanel panel = new JPanel();!!!panel.add(knapp);!!panel.add(etikett);!!panel.add(tekstfelt);!!panel.add(rullevindu);! // tekstvinduet er inne i rullevinduet!!!ramme.add(panel);!!ramme.setdefaultcloseoperation(jframe.exit_on_close);!!ramme.setvisible(true);! }! }!
20 class Gui03 {! public static void main(string [] a) {!!JFrameramme=n e w JFrame("Rammelagetm e d klasseng u i 0 3 " ) ;!!ramme.setsize(700, 400);!!!JButton knapp = new JButton("Trykk her");!!jlabel etikett = new JLabel("Skriv inn navn");!!jtextfield tekstfelt = new JTextField(30);!!JTextArea tekstvindu = new JTextArea(10, 30);!!JScrollPane rullevindu = new JScrollPane(tekstvindu);!!!JPanel panel = new JPanel();!!!panel.add(knapp);!!panel.add(etikett);!!panel.add(tekstfelt);!!panel.add(rullevindu);! // tekstvinduet er inne i rullevinduet!!!ramme.add(panel);!!ramme.setdefaultcloseoperation(jframe.exit_on_close);!!ramme.setvisible(true);! }! }!!
21 Et litt mer sammensatt eksempel
22 import javax.swing.* ; import java.awt.* ; class KnappeGrid { public static void main(string [ ] a) { JFrame ramme = new JFrame("Grid av knapper (JButton)"); ramme.setsize(300, 300); JPanel panel = new JPanel(); panel.setlayout(new GridLayout(5,5)); // 5 x 5 ruter..
23 . JButton knapp1 = new JButton("1"); knapp1.setborder(borderfactory.creatematteborder (4, 1, 1, 1, Color.black)); JButton knapp2 = new JButton("2"); knapp2.setborder(borderfactory.creatematteborder (1, 4, 1, 1, Color.black)); JButton knapp3 = new JButton("3"); knapp3.setborder(borderfactory.creatematteborder (1, 1, 4, 1, Color.black)); JButton knapp4 = new JButton("4"); knapp4.setborder(borderfactory.creatematteborder (1, 1, 1, 4, Color.green)); JButton knapp5 = new JButton("5"); knapp5.setborder(borderfactory.creatematteborder (5, 5, 1, 1, Color.red));..
24 . JButton knapp1 = new JButton("1"); knapp1.setborder(borderfactory.creatematteborder (4, 1, 1, 1, Color.black)); JButton knapp2 = new JButton("2"); knapp2.setborder(borderfactory.creatematteborder (1, 4, 1, 1, Color.black)); JButton knapp3 = new JButton("3"); knapp3.setborder(borderfactory.creatematteborder (1, 1, 4, 1, Color.black)); JButton knapp4 = new JButton("4"); knapp4.setborder(borderfactory.creatematteborder (1, 1, 1, 4, Color.green)); JButton knapp5 = new JButton("5"); knapp5.setborder(borderfactory.creatematteborder (5, 5, 1, 1, Color.red)); knapp1.setfont(new Font("SansSerif", Font.BOLD, 48)); knapp2.setfont(new Font("SansSerif", Font.BOLD, 48)); knapp3.setfont(new Font("SansSerif", Font.BOLD, 48)); knapp4.setfont(new Font("SansSerif", Font.BOLD, 48)); knapp5.setfont(new Font("SansSerif", Font.BOLD, 48));..
25 . panel.add(new JButton("1")); panel.add(knapp2); panel.add(new JButton("3")); panel.add(new JButton("4")); panel.add(new JButton("5")); panel.add(new JButton("1")); panel.add(new JButton("2")); panel.add(new JButton("3")); panel.add(knapp4); panel.add(new JButton("5")); panel.add(knapp1); panel.add(new JButton("2")); panel.add(new JButton("3")); panel.add(new JButton("4")); panel.add(new JButton("5")); panel.add(new JButton("1")); panel.add(new JButton("2")); panel.add(new JButton("3")); panel.add(new JButton("4")); panel.add(knapp5); panel.add(new JButton("1")); panel.add(new JButton("2")); panel.add(knapp3); panel.add(new JButton("4")); panel.add(new JButton("5"));..
26 class KnappeGrid { } public static void main(string [] a) { JFrame ramme = new JFrame("Grid av knapper (JButton)"); ramme.setsize(300, 300); JPanel panel = new JPanel(); } panel.setlayout(new GridLayout(5,5)); // 5 x 5 ruter < lager knappene > <legger inn knappene I panelet> ramme.add(panel); ramme.setdefaultcloseoperation(jframe.exit_on_close); ramme.setvisible(true);
27 En knapp med reaksjon Vi skal lage det aller enkleste programmet vi kan tenke oss med én knapp som reagerer på at vi trykker på den ved å gi en utskrift i kommando-vinduet: C:\javaprog> javac Vindu.java C:\javaprog> java Vindu noen sa hei til meg noen sa hei til meg noen sa hei til meg
28 Hvordan lage en knapp som ly:er JFrame ramme; JButton knapp; knapp= new JButton("Hei"); ramme.add(knapp); knapp.addactionlistener(knappelyttter); JButton knapp Hei Dette objektet vil synes på skjermen (som en knapp) Legger knappen inn i vinduet NYTT: Sier fra hvem som skal lytte etter trykk på denne knappen (mer på neste side)
29 import javax.swing.*; import java.awt.*; import java.awt.event.*; class Knappelytter { public static void main(string [] a) { JFrame ramme = new JFrame("En lyttende knapp"); ramme.setsize(300,200); JButton knapp= new JButton("Si «hei»"); ramme.add(knapp); ramme.setdefaultcloseoperation(jframe.exit_on_close); ramme.setvisible(true); ActionListener knappelytter = new Lytter( ); knapp.addactionlistener(knappelytter); } } class Lytter implements ActionListener { public void actionperformed(actionevent e) { System.out.println("Hvem sa hei!??"); } }
30 Hva skjer ved et knappetrykk? Dette objektet synes på skjermen (som en knapp) Si «hei» JButton ActionListener knapp.addactionlistener(knappelytter); forteller kjøresystemet at objektet som knappelytter peker på og som spiller rollen ActionListener, skal ha beskjed når noe skjer med knappen knapp. knapp knappelytter actionperformed( ) Kobling i kjøre-systemet Type: ActionListener Når noen trykker på knappen, kaller kjøresystemet metoden actionperformed i det objektet som er satt opp som lytter for denne knappen. Dette objektet spiller rollen ActionListener
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,
Detaljerimport 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
Detaljer4. 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
DetaljerOm 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
DetaljerOm 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
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
DetaljerGrafiske 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
DetaljerINF1010. 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
DetaljerUke 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
Detaljer6108 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
DetaljerInf 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
DetaljerJPanel. 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
DetaljerHØ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
DetaljerINF1010. 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
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
DetaljerGUI - 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
DetaljerUNIVERSITETET 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
DetaljerInf 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
DetaljerVi 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
DetaljerGjennomgang 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
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
DetaljerOm 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
DetaljerKapittel 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. 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
DetaljerAVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE
AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE Emne: Informatikk II Emnekode: LO325E Faglig veileder: G.Milvang og H.Hemmer Gruppe(r): 2EA,2EB,2EC Dato:12.12.03 Eksamenstid:9 00-14 00 Eksamensoppgaven
DetaljerEksamensoppgave Vår 2012 Ordinær eksamen Bokmål. Videregående programmering. Eksamensdato: 06.06.2012. Studium/klasse: 2. klasse
Eksamensoppgave Vår 2012 Ordinær eksamen Bokmål Fag: Videregående programmering Eksamensdato: 06.06.2012 Studium/klasse: 2. klasse Emnekode: IFT205 Eksamensform: Skriftlig Antall sider: 3 (inkludert denne)
DetaljerVi 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
DetaljerAVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE
AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE Emne: Informatikk II Emnekode: LO334E Faglig veileder: Hilde Hemmer Gruppe(r): 2EA,2EB,2EC Dato:14.12.04 Eksamenstid: 9 00-12 00 Eksamensoppgaven består av:
DetaljerHvordan gjør vi det, to typer av vinduer? Om Grafiske Bruker-Grensesnitt (GUI) GUI (Graphical User Interface)-programmering
GUI (Graphical User Iterface)-programmerig Uke 11 13. 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)
DetaljerLO191D/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
DetaljerAVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE. Antall sider (Inkl forsiden): 8. Alle trykte og håndskrevne
I EKSAMENSOPPGA VE Side av 8 AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE Emne: PROGRAMMERING Grupper: laa, 1AB, lac, lia Eksamensoppgaven av: Tillatte hjelpemidler: best~r Antall sider (Inkl forsiden):
DetaljerINF1010 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
DetaljerANTDAGER = 358; I Ifra nyttår 08 til 08 1ed julaften
~tte hjelpemiddel: Alle trykte og håndskrevne --- Kandidaten må selv kontrollere at oppgavesettet er fullstendig. nnføring skal være med blå eller svart penn. Les gjennom hele oppgavesettet før du begynner
DetaljerKonstruktø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
DetaljerGUI. Grafisk brukergrensesni0 i Java med JavaFX. INF1010 Stein Michael Storleer
GUI Grafisk brukergrensesni0 i Java med JavaFX INF1010 Stein Michael Storleer GUI-rammeverk i java Awt Swing JavaFX awt JavaFX er et svært rammeverk med mange, mange klasser Vi kan bare dekke en liten
Detaljer1 t:n'v'\ekode LO325E. Alle ~vne og trykte. GOd'"j(jent kalkulator
1 t:n'v'\ekode j Emne: 11nformatiklc Il LO325E I Faglig veileder Hilde Hemmer 1 Gruppe(r) I DOtO:14~1~ E ksamenstld 900-1400 I Eksamen~pgaven består av: Antall sider (Inkl forsiden og vedlegg):6 Antal
DetaljerGUI («Graphical User Interface»)
GUI («Graphical User Interface») Om GUI JavaFX Se også på Infoskrivet https://www.uio.no/studier/emner/matnat/ ifi/in1010/v18/gui/fx-intro-in1010.pdf Programkoden i https://www.uio.no/studier/emner/ matnat/ifi/in1010/v18/gui/
DetaljerEKSAMEN. 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
DetaljerLøsning på småoppgaver etter hvert underkapittel. kap. 11-18
Løsning på småoppgaver etter hvert underkapittel. kap. 11-18 Kun til bruk sammen med læreboka Programmering i Java, Else Lervik og Vegard B. Havdal. Stiftelsen TISIP og Gyldendal Akademisk. Tilpasset 3.utgave
DetaljerTittel Objektorientert systemutvikling 1. Eksamenstid, fra-til 09.00-12.00 Ant. oppgaver 6
EKSAMENSFORSIDE Fagnr. OBJ208a Tittel Objektorientert systemutvikling 1 Ansvarlig faglærer Viggo Holmstedt Klasse(r) IS 2 og IN 2 Eksamensoppgaven består av følgende: Tillatte hjelpemidler: Dato 17.12.2008
DetaljerLøsning på småoppgaver etter hvert underkapittel, kapittel 13 18
Løsning på småoppgaver etter hvert underkapittel, kapittel 13 18 Kun til bruk sammen med læreboka Programmering i Java, Else Lervik og Vegard B. Havdal. Stiftelsen TISIP og Gyldendal Akademisk. Tilpasset
DetaljerKlasser, 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
DetaljerGUI 1. Grafisk brukergrensesni1 i Java med JavaFX. INF1010 Stein Michael Storleer
GUI 1 Grafisk brukergrensesni1 i Java med JavaFX INF1010 Stein Michael Storleer GUI-rammeverk i java Awt Swing JavaFX JavaFX er et svært rammeverk med mange, mange klasser JavaFX er et svært rammeverk
DetaljerOl Emnekode: Faglig veileder: I L~~25 A - E!8 Viho~d~.1. F ntall oppga~ forsiden): 8 5. -;;;handskr~vn-;
Emne: PROGRAMMERING Ol Emnekode: Faglig veileder: I L~~25 A - E!8 Viho~d~.1 Grupper: I Dato: laa, lab, lac, lia, ~IB, l~c, A_~~~) _~~~~12.~!3 -. Antall sider (inkl, Eksamensoppgaven best~r av: forsiden):
DetaljerUNIVERSITETET 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:
DetaljerGUI («Graphical User Interface»)
GUI («Graphical User Interface») Om GUI JavaFX Se også på Infoskrivet https://www.uio.no/studier/emner/matnat/ ifi/in1010/v19/notater/fx-intro-in1010.pdf Programkoden til eksemplene i https://www.uio.no/studier/emner/matnat/ifi/in1010/
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 4. juni 2005 Tid for eksamen: 0900 1500 Oppgavesettet er på 5 sider. Vedlegg: Tillatte hjelpemidler: INF1010 Objektorientert
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
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
DetaljerINF 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
DetaljerMål med kurset. Java i INF 2400. Dagens tema. GUI med Swing. Dokumentasjon
Mål med kurset Java i INF 2400 Introduksjon til signalbehandling Lyd som anvendelse Få programmeringserfaring Dagens tema Utplukk av Java (GUI, kode-konvensjon, polymorfisme, classpath, javadoc) Java og
DetaljerINF 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
DetaljerArgumenter fra kommandolinjen
Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato:. desember 200 Varighet: 0900-300 Emnekode: Emnenavn: Klasse(r): LO9D / LC9D LO9D Videregående programmering
DetaljerINF1010, 15. januar 2014 2. time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF1010, 15. januar 2014 2. time Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Repetisjon fra gamle dager: Metoder med parametre En metode uten parameter:
DetaljerGUI («Graphical User Interface») del 2
GUI («Graphical User Interface») del 2 Interaksjon med brukeren Hendelsesdrevet programmering Tråder i GUI Et spill basert på klikkbare ruter Se også på Infoskrivet https://www.uio.no/studier/emner/matnat/
DetaljerStein Gjessing, Ins$tu' for informa$kk, Universitetet i Oslo
INF1010 - Våren 2012 Tråder del 1 Parallelle programmer og felles data Stein Gjessing,, Universitetet i Oslo 1 2 Oversikt Hva er parallelle programmer? Hvorfor parallelle programmer? Hvordan kan de'e skje
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
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.
DetaljerAntall sider (inkl. forsiden): 7. Alle trykte og håndskrevne
Side 1 av 7 Bokmålstekst Emne: PROGRAMMERING (nytt pensum, 10 studiep.) Grupper: laa, lab, lac, lia, lib, lic Eksamensoppgaven best~r av: Tillatte hjelpemidler: Antall sider (inkl. forsiden): 7 Alle trykte
DetaljerNB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen..
Løsningsforslag Eksamen V2007 Oppgave 1 NB!!! Veldig korte svar er gitt her. Disse burde det vært skrevet mer på ved en eksamen.. Oppgave 1.1 Klasse som pakke rinne n primitiv datatype, slik at vi kan
DetaljerLøsningsforslag til eksamen i INF1000 våren 2006
Løsningsforslag til eksamen i INF1000 våren 2006 Oppgave 1 a) -1 false 7 b) 30 c) Verdien til j er: 4Verdien til k er: 3Verdien til n er: 7 d) Andre if-test er true Tredje if-test er true e) k = 4 k =
DetaljerKapittel 13: Grafiske brukergrensesnitt. Java som første programmeringsspråk
Kapittel 13: Grafiske brukergrensesnitt Forelesningsnotater for: Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag, 2003. ISBN 82-02-23274-0
DetaljerKapittel 13: Grafiske brukergrensesnitt. Java som første programmeringsspråk
Kapittel 13: Grafiske brukergrensesnitt Forelesningsnotater for: Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag, 2003. ISBN 82-02-23274-0
DetaljerKapittel 8: Programutvikling
Kapittel 8: Programutvikling 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
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
DetaljerLes gjennom hele oppgavesettet før du begynner å besvare deloppgavene.
Eksamen i Programmering 18. februar 2002 Les gjennom hele oppgavesettet før du begynner å besvare deloppgavene.. Hold deg til de identifikator-navnene som er brukt i oppgaveteksten, dog med unntak av metodenes
DetaljerTråder Repetisjon. 9. og 13. mai Tråder
Tråder Repetisjon 9. og 13. mai Tråder Hva er tråder? 2 Hva er tråder? I utgangspunktet uavhengige aktiviteter som konkurrerer om å få bruke prosessoren. 2 Hvorfor tråder? 3 Hvorfor tråder? Flere oppgaver
DetaljerINF1010, 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
DetaljerINF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java
INF1010 våren 2017 Onsdag 25. januar Litt om unntak i Java Stein Gjessing Nytt tema: Feilhåndtering (IO: Innlesing/Utskrift) n En metode som kan komme til å gjøre en IO-feil på fil må enten behandle denne
Detaljer1. NetBeans IDE: Lage en enkel mobilapplikasjon
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag NetBeans IDE: Lage en enkel mobilapplikasjon Mildrid Ljosland/Lene Hoff 09.09.2008 Lærestoffet er utviklet for faget SO350D J2ME for programmering
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å
DetaljerKapittel 13: Grafiske brukergrensesnitt INF 100. Java som første programmeringsspråk
Kapittel 13: Grafiske brukergrensesnitt Forelesningsnotater for: INF 100 Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag, 2003. ISBN 82-02-23274-0
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 5.mai 200 Varighet: 0900-300 Emnekode: Emnenavn: Klasse(r): LO9D / LC9D LO9D Videregående programmering
DetaljerVi 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
DetaljerInnhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49
Innhold Forord...5 1 Det første programmet...15 1.1 Å kommunisere med en datamaskin 16 1.2 Programmeringsspråk 17 1.3 Et program som skriver på skjermen 18 1.4 Kompilering og kjøring 19 1.5 Kommentarer
DetaljerTråder Repetisjon. 9. og 13. mai Tråder
Tråder Repetisjon 9. og 13. mai Tråder Hva er tråder? 2 Hva er tråder? I utgangspunktet uavhengige aktiviteter som konkurrerer om å få bruke prosessoren. 2 Hvorfor tråder? 3 Hvorfor tråder? Flere oppgaver
Detaljer2 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.
DetaljerLogo med FXML. Introduksjon. Skrevet av: Hallvard Trætteberg
Logo med FXML Skrevet av: Hallvard Trætteberg Kurs: Javafx Introduksjon En viktig del av det å lage app-er er å utforme skjerminnholdet, dvs. alt app-en inneholder av grafikk, knapper, lister, osv. Formålet
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
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)
DetaljerFra Python til Java, del 2
Fra Python til Java, del 2 Hvordan kjøre Java? På Ifis maskiner På egen maskin Et eksempel Array-er For-setninger Lesing og skriving Metoder Biblioteket Hva trenger vi egentlig? Å kjøre Java For å kunne
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
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 13. juni 2006 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 5
DetaljerINF1010 oversikt med
INF1010 oversikt med Subklasser mm Unntaksbehandling GUI Tråder 12. mai 2009 Stein Gjessing Model View Control main navn: bnk type: BankKontroll bnk = new BankKontroll(); bnk.ordreløkke(); BankKontrollklassedatastruktur
DetaljerINF1010 Sortering. Marit Nybakken 1. mars 2004
INF1010 Sortering Marit Nybakken marnybak@ifi.uio.no 1. mars 2004 Dette dokumentet skal tas med en klype salt og forfatter sier fra seg alt ansvar. Dere bør ikke bruke definisjonene i dette dokumentet
DetaljerKapittel 15: Grafiske brukergrensesnitt: Enkel GUI. Del I
Kapittel 15: Grafiske brukergrensesnitt: Enkel GUI Del I Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf
DetaljerEt enkelt rammeverk for kjøring av OpenGL-programmer i Java
1 Et enkelt rammeverk for kjøring av OpenGL-programmer i Java JOGL2 API og dokumentasjon kan lastes ned fra siden: http://www.aitel.hist.no/fag/_jva/forelesninger/grafikk/grafikk_h2015/nedlasting_og_installasjonsveiledning_jogl2.pdf
DetaljerKapittel 15: Grafiske brukergrensesnitt: Enkel GUI. Del I
Kapittel 15: Grafiske brukergrensesnitt: Enkel GUI Del I Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf
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)
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
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å
DetaljerINF1010 våren 2008 Uke 4, 22. januar Arv og subklasser
Emneoversikt subklasser INF1010 våren 2008 Uke 4, 22. januar Arv og subklasser Stein Gjessing Institutt for informatikk Mange flere eksempler på fellesøvelsene og neste forelesning 1 Generalisering - spesialisering
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
DetaljerSteg 1: Opprette app-pakke, app-klasse og FXML-fil
Logo med FXML Introduksjon En viktig del av det å lage app-er er å utforme skjerminnholdet, dvs. alt app-en inneholder av grafikk, knapper, lister, osv. Formålet til denne leksjonen er å lære hvordan du
DetaljerGraphics. Grafikk. Praktisk sett: Koordinatsystemet. kodeeksempel
Grafikk Grafikk er den framstillingen vi gir objekter på en todimensjonal flate. Det er en regnemessig tung operasjon å regne ut hvordan man skal framstille to og tre dimensjonale objekt på en todimensjonal
DetaljerJava i INF 2310 Dagens tema
Mål med kurset Introduksjon til bildebehandling Få programmeringserfaring Java i INF 2310 Dagens tema Utplukk av Java (GUI, kode-konvensjon, polymorfisme, classpath, javadoc) Java og bildebehandling i
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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveksamen i INF1010 Objektorientert programmering Dato: 26. mai 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 6 sider.
DetaljerUtplukk av Java (GUI, kode-konvensjon, Java og bildebehandling i J2SE. BufferedImage m/venner. polymorfisme, classpath, javadoc) UNIVERSITETET I OSLO
Java i INF 160 INSTITUTT FOR INFORMATIKK SVEIN BØE 1 GUI med Swing import java.awt.*; import javax.swing.*; public class GUI { public static main(string[] args) { JFrame frame = new JFrame("window title");
Detaljer