Frames, menyer och GUI-program
|
|
- Åsa Johanna Lundberg
- för 8 år sedan
- Visningar:
Transkript
1 15 Frames, menyer och GUI-program Frames En frame-klass Om konstruktorer - igen Funktionella fönster Menyer Popupmenyer GUI-applikationer Dialogrutor Printerutskrift
2 Kap 15: Sid 2 Frames Redan i kapitel 3 skapade vi en Frame Dags att återuppta bekantskapen! En frame är ett fönster med en titellist och en ram. Vi kan använda frames som komponenter i applets. Mest används de för att bygga fristående applikationer. Vi ska se på båda tillämpningarna. Vi börjar med en applet med en knapp. När man trycker på knappen ska en frame visas. import java.applet.*; import java.awt.event.*; public class FrameTest extends Applet implements ActionListener Frame f; Button b; Label l; public void init() b = new Button("Visa en frame!"); add(b); b.addactionlistener(this); public void actionperformed(actionevent e) f = new Frame(); f.settitle("min första frame"); l=new Label("Detta är en frame!"); f.add(l); f.setsize(300,200); f.setresizable(true); f.setvisible(true); När man trycker på knappen instansieras ett frame-objekt ur klassen Frame. Med settitle() kan man bestämma vad som ska stå i titellisten. På raden därefter adderas labeln till vår frame. Man måste alltid sätta storlek på en frame (sker med setsize() ) Vår frame får storleken 200x300 pixels. Vi kommer att kunna ändra storlek på den ( setresizable(true) ) Slutligen görs komponenten synlig med setvisible(true) Övning: Visa en Frame Provkör ovanstående applet. Tryck på knappen skapa en frame. Flytta på den. Tryck igen skapa fler frames. Testa att ändra storlek (fungerar) Testa att minimera, maximera, stänga (allt fungerar utom stängning) När du stänger appleten stängs alla öppnade frames. Övning: Hur ärver klassen Frame? Gå in i dokumentationen och studera hur klassen Frame ärver. ( Frame ärver från Window som ärver från Container som ärver från Component som ärver från Object ) När vi i fortsättningen använder det svenska ordet fönster avses frame (och inte window ) om inget annat anges. Java15_FrameMenyGUI.doc Ove Lundgren 2
3 Kap 15: Sid 3 En frame-klass Vi gör en variant på förra övningen. Denna gång ska vi skapa en egen, fristående, frame-klass, en klass som ärver från Frame, alltså. Övning: En mycket enkel frame Skriv in, spara och kompilera filen MinFrame.java class MinFrame extends Frame Skriv in, spara och kompilera filen VisaFrame.java import java.applet.*; import java.awt.event.*; public class VisaFrame extends Applet implements ActionListener MinFrame f; //Här deklareras ett objekt av typ MinFrame Button b; public void init() b = new Button("Tryck här"); add(b); b.addactionlistener(this); public void actionperformed(actionevent e) if (f!=null) // Här testas om en frame redan är öpppen f.setvisible(false); // Om den är det så stängs den! f.dispose(); // Du kan bara öppna ett fönster åt gången // i den här versionen! f = new MinFrame(); // Här instansieras ett objekt av typen f.setsize(200,200); // MinFrame f.setlocation(200,200); // Bestämmer plats på skärmen f.setresizable(true); f.setvisible(true); Skriv också en VisaFrame.html -fil och provkör. Vi får ungefär samma funktion som i förra övningen. Den här gången kan vi dock bara öppna en frame åt gången på grund av testen som görs i VisaFrame. Fönstret hamnar med sitt övre vänstra hörn i skärmposition (200,200) Det går fortfarande inte att stänga fönstret. För att göra det måste vi skriva lite kod. Nu när vi har skapat en egen frame-klass har vi alla möjligheter att bygga in önskad funktionalitet i vår frame! I nästa övning ska vi se till att vår frame går att stänga. Dessutom vill vi ha en text i titellisten Java15_FrameMenyGUI.doc Ove Lundgren 3
4 Kap 15: Sid 4 Övning: Stäng fönstret! Skriv om klassen MinFrame enligt nedan. Läs kommentarerna! import java.awt.event.*; class MinFrame extends Frame implements WindowListener public MinFrame() // konstruktor settitle("min Frame"); addwindowlistener(this); WindowListener är ett gränssnitt som gör att vi kan implementera metoderna (händelsehanterarna) som har med fönsterhantering att göra. Vår frame kommer att få titeln Min Frame Här klistar vi även på en fönsterlyssnare. public void windowclosing(windowevent e) setvisible(false); dispose(); public void windowclosed(windowevent e) public void windowopened(windowevent e) public void windowiconified(windowevent e) public void windowdeiconified(windowevent e) public void windowactivated(windowevent e) public void windowdeactivated(windowevent e) Anropas när fönstret stängs Vi måste släpa på alla metoderna som gränssnittet hanterar även om vi inte använder dem! Spara filen MinFrame.java. Kompilera. Kör VisaFrame och klicka på knappen. Ett fönster öppnas. Fönstret har en titeltext och, framför allt, fönstret går att stänga! Som du ser är det många metoder som ska vara med i koden när vi implementerar gränssnittet WindowListener. Kommer du ihåg vad en adapterklass är? (Om inte: Repetera avsnittet om adapterklasser i kapitel 10 ) Naturligtvis finns det en adapterklass för metoderna i gränssnittet WindowListener. Adapterklassen heter WindowAdapter Om vi använder adapterklasser kan klassen ovan skrivas så här: import java.awt.event.*; class MinFrame extends Frame public MinFrame() // konstruktor settitle("min Frame"); addwindowlistener(new FonsterLyssnare() ); class FonsterLyssnare extends WindowAdapter public void windowclosing(windowevent e) setvisible(false); dispose(); Inre klass som ärver WindowAdapter Ändra så att MinFrame använder adapterklassen WindowAdapter. Spara kompilera kör! Java15_FrameMenyGUI.doc Ove Lundgren 4
5 Kap 15: Sid 5 Välj själv om du vill implementera WindowListener (och ta med alla metoderna i koden) eller om du vill arbeta med inre klasser som ärver adapterklassen WindowAdapter. (I detta kapitel används genomgående adapterklassen för fönsterhändelserna) Övning: Två konstruktorer Ändra i MinFrame så att klassen får dessa båda konstruktorer: public MinFrame() // Samma konstruktor som förut // Inget argument settitle("min Frame"); addwindowlistener(new FonsterLyssnare()); public MinFrame(String s, Color c) // Ny konstruktor: // Ett argument av typen String settitle(s); // och ett av typen Color setbackground(c); addwindowlistener(new FonsterLyssnare()); Spara MinFrame.java och kompilera. I VisaFrame, i actionperformed, byt ut f = new MinFrame() mot f = new MinFrame("Heja Åmål", Color.blue); Nu kommer den andra, den nya, konstruktorn att användas eftersom den "matchar" instansieringssatsen: Spara - Kompilera -Testa! Fönstret visas. Den sträng som var argument vid instansieringen står på titellisten. Java15_FrameMenyGUI.doc Ove Lundgren 5
6 Kap 15: Sid 6 Funktionella fönster Nu ska vi bygga in lite funktionalitet i ett fönster. Vi lägger in tre knappar. Genom att trycka på dem kan vi ändra fönstrets bakgrundsfärg. Observera att frames automatiskt har borderlayout! Övning: Ett fönster med knappar Skriv koden. Spara som KnappFrame.java. Kompilera. import java.awt.event.*; class KnappFrame extends Frame implements ActionListener Button b1, b2, b3; public KnappFrame() // konstruktorn! settitle("min Frame"); b1=new Button("Rött"); b1.addactionlistener(this); b2=new Button("Grönt"); b2.addactionlistener(this); b3=new Button("Blått"); b3.addactionlistener(this); add("west",b1);add("south",b2);add("east",b3); addwindowlistener(new FonsterLyssnare() ); public void actionperformed(actionevent e) if (e.getsource()==b1) setbackground(color.red); else if (e.getsource()==b2) setbackground(color.green); else if (e.getsource()==b3) setbackground(color.blue); repaint(); class FonsterLyssnare extends WindowAdapter public void windowclosing(windowevent e) setvisible(false); dispose(); Gå igenom koden noga. (Du bör känna igen allt.) Ändra i VisaFrame.java så att fönsterobjekt av typ KnappFrame skapas och visas då man trycker på knappen. När du trycker på knapparna i fönstret ändras bakgrundsfärgen Java15_FrameMenyGUI.doc Ove Lundgren 6
7 Kap 15: Sid 7 Menyer I frames kan man använda menyer Övning: Menyer Skriv in filen nedan. Spara den som MenyFrame.java och kompilera. Ändra så att VisaFrame kan visa fönstret MenyFrame. Spara - kompilera - provkör. Läs kommentarerna efter koden. import java.awt.event.*; class MenyFrame extends Frame implements ActionListener MenuBar mbar; Menu fargmeny; MenuItem rod, gro, bla, gul; Menu svmeny; MenuItem sva, vit, gra; public MenyFrame() // konstruktorn settitle("en frame med menyer"); mbar = new MenuBar(); fargmeny = new Menu("Färger"); rod = new MenuItem("Rött"); fargmeny.add(rod); rod.addactionlistener(this); gro = new MenuItem("Grönt"); fargmeny.add(gro); gro.addactionlistener(this); bla = new MenuItem("Blått"); fargmeny.add(bla); bla.addactionlistener(this); gul = new MenuItem("Gult"); fargmeny.add(gul); gul.addactionlistener(this); mbar.add(fargmeny); svmeny = new Menu("SvartVitt"); sva = new MenuItem("Svart"); svmeny.add(sva); sva.addactionlistener(this); vit = new MenuItem("Vitt"); svmeny.add(vit); vit.addactionlistener(this); gra = new MenuItem("Grått"); svmeny.add(gra); gra.addactionlistener(this); mbar.add(svmeny); this.setmenubar(mbar); addwindowlistener(new FonsterLyssnare() ); public void actionperformed(actionevent e) if (e.getsource()==rod) setbackground(color.red); else if (e.getsource()==gro)setbackground(color.green); else if (e.getsource()==bla) setbackground(color.blue); else if (e.getsource()==gul) setbackground(color.yellow); else if (e.getsource()==sva)setbackground(color.black); else if (e.getsource()==vit) setbackground(color.white); else if (e.getsource()==gra) setbackground(color.gray); repaint(); class FonsterLyssnare extends WindowAdapter public void windowclosing(windowevent e) setvisible(false); dispose(); Java15_FrameMenyGUI.doc Ove Lundgren 7
8 Kap 15: Sid 8 Högst upp i fönstret ser vi nu en "menylist" (MenuBar) På denna finns två menyer (Menu) med texterna "Färger" respektive "SvartVitt". Den vänstra menyn har fyra menyalternativ (MenuItem) den högra har tre. MenuBar Menu Menu Item Vår menylist (MenuBar) refererar vi till som mbar. Menyerna kallar vi fargmeny respektive svmeny. fargmeny har menyalternativen rod, gro, bla, gul. svmeny har menyalternativen sva, vit, gra I konstruktorn instansieras objekten: Menylisten: Första menyn: mbar = new MenuBar(); fargmeny = new Menu("Färger"); De alternativ som hör till denna meny instansieras, adderas till menyn och förses med en lyssnare: rod = new MenuItem("Rött"); fargmeny.add(rod); rod.addactionlistener(this); (på samma sätt för övriga alternativ ) Sedan adderas den "färdigkomponerade" menyn till menylisten: mbar.add(fargmeny); Andra menyn (svmeny) och dess objekt behandlas på motsvarande sätt Slutligen måste den kompletta menylisten anknytas till vår frame och det sker med: this.setmenubar(mbar); Händelsehanteraren som används vid menyhantering är actionperformed(avtionevent e) (samma som för Buttons alltså) så vi använder addactionlistener när vi adderar lyssnare. Metoden actionperformed() i denna frame är mycket lik motsvarande metod i föregående övning (den med knappar) Java15_FrameMenyGUI.doc Ove Lundgren 8
9 Kap 15: Sid 9 Övning: Undermenyer. Vi vill skapa en undermeny under alternativet "Grått", så här: Det är enkelt: Vi definierar gra som en Menu och skapar tre nya MenuItems: ljugra, melgra, morgra De nya menyalternativen adderas förstås till menyn gra. När menyn gra är färdigkomponerad adderas den till menyn svmeny Gör alltså tillägg och ändringar enligt följande: Menu svmeny; MenuItem sva, vit; Menu gra; MenuItem ljugra, melgra, morgra; svmeny = new Menu("SvartVitt"); sva = new MenuItem("Svart"); svmeny.add(sva); sva.addactionlistener(this); vit = new MenuItem("Vitt"); svmeny.add(vit); vit.addactionlistener(this); gra = new Menu("Grått"); ljugra = new MenuItem("Ljusgrått"); gra.add(ljugra); ljugra.addactionlistener(this); melgra = new MenuItem("Mellangrått"); gra.add(melgra); melgra.addactionlistener(this); morgra = new MenuItem("Mörkgrått"); gra.add(morgra); morgra.addactionlistener(this); svmeny.add(gra); mbar.add(svmeny); Spara, kompilera och kör VisaFrame. Java15_FrameMenyGUI.doc Ove Lundgren 9
10 Kap 15: Sid 10 Popupmenyer Popupmenyer fungerar som vanliga menyer men man behöver ju inte någon MenuBar. Popupmenyn adderas direkt till fönstret. Så måste man förstås ha en muslyssnare som känner av om man klickar Testa gärna detta fönster. (Provkör det med VisaFrame.) import java.awt.event.*; class PopupMenyFrame extends Frame implements ActionListener, MouseListener PopupMenu fargmeny; MenuItem rod, gro, bla, gul; public PopupMenyFrame() // konstruktorn settitle("en frame med popupmeny"); fargmeny = new PopupMenu("Färger"); rod = new MenuItem("Rött"); fargmeny.add(rod); rod.addactionlistener(this); gro = new MenuItem("Grönt"); fargmeny.add(gro); gro.addactionlistener(this); bla = new MenuItem("Blått"); fargmeny.add(bla); bla.addactionlistener(this); gul = new MenuItem("Gult"); fargmeny.add(gul); gul.addactionlistener(this); this.add(fargmeny); addwindowlistener(new FonsterLyssnare() ); addmouselistener(this); public void actionperformed(actionevent e) if (e.getsource()==rod) setbackground(color.red); else if (e.getsource()==gro)setbackground(color.green); else if (e.getsource()==bla) setbackground(color.blue); else if (e.getsource()==gul) setbackground(color.yellow); repaint(); class FonsterLyssnare extends WindowAdapter public void windowclosing(windowevent e) setvisible(false); dispose(); public void mousepressed(mouseevent e) if(e.ismetadown() ) // kollar om höger musknapp tryckts fargmeny.show(this,e.getx(), e.gety() ); public void mousereleased(mouseevent e) public void mouseclicked(mouseevent e) public void mouseentered(mouseevent e) public void mouseexited(mouseevent e) Observera hur man känner av höger musknapp Java15_FrameMenyGUI.doc Ove Lundgren 10
11 Kap 15: Sid 11 GUI-applikationer Hittills har vi mest arbetat med applets, och ibland, då och då, med fristående konsolprogarm. Det är hög tid att skapa vår första GUI-applikation, det vill säga en fristående java-applikation med frames! (GUI = Graphic User Interface ) Redan i kapitel 3 visade vi hur det går till: Man skriver ett javaprogram (som innehåller metoden main) och så låter vi main instansiera ett frame-objekt och visa det. Övning: En GUI-applikation Vi vill visa vår frame KnappFrame som ett fristående fönster, som en egen GUI-applikation: Skriv nedanstående lilla fil. Spara den som StartaFrame.java Spara den i samma mapp som filerna KnappFrame.java och KnappFrame.class Kompilera. class StartaFrame public static void main( String args[]) KnappFrame f; f = new KnappFrame(); // Instansierar ett objekt av typ KnappFrame f.setsize(400,300); // Sätter storlek på fönstret f.setlocation(200,200); // Fönstrets placering f.setresizable(true); // Tillåter användaren att ändra storlek f.setvisible(true); // Visar fönstret I KnappFrame.java måste vi göra ett tillägg. Eftersom vår frame ska leva sitt eget liv måste vi se till att den stängs ordentligt (det skötte appleten förut) Gör tillägget System.exit(0); i metoden windowclosing( ), så här: public void windowclosing(windowevent e) setvisible(false); dispose(); System.exit(0); // stänger applikationen helt Spara KnappFrame.java och kompilera. Exekvera nu StartaFrame (med kommandot java) KnappFrame visas som en fristående applikation! Java15_FrameMenyGUI.doc Ove Lundgren 11
12 Kap 15: Sid 12 Vi skapade (av pedagogiska skäl) en särskild class-fil som endast innehöll en main-metod. Det är inte nödvändigt att skapa en särskild klass för main-metoden. Vi kan lika gärna skriva main-metoden direkt i frame-klassen! När frame-klassen exekveras startar den med att leta upp main-metoden, och när main-metoden utförs så instansieras ett objekt ur frame-klassen. (Klassen instansierar alltså objekt ur sig själv!) Övning: GUI-applikationen - igen Markera och kopiera main-metoden i StartaFrame-klassen Klistra in den i KnappFrame-klassen. Det spelar ingen roll var man placerar den. (Man brukar oftast lägga den först eller sist.) Så här kan det se ut: import java.awt.event.*; class KnappFrame extends Frame implements ActionListener public static void main( String args[]) KnappFrame f; f = new KnappFrame(); f.setsize(400,300); f.setlocation(200,200); f.setresizable(true); f.setvisible(true); Button b1, b2, b3; public KnappFrame() // konstruktorn! settitle("min Frame"); b1=new Button("Rött"); b1.addactionlistener(this); b2=new Button("Grönt"); b2.addactionlistener(this); b3=new Button("Blått"); b3.addactionlistener(this); add("west",b1);add("south",b2);add("east",b3); addwindowlistener(new FonsterLyssnare() ); och så vidare... Spara kompilera provkör! Övning: GUI-applikation med menyer Gör om MenyFrame till en fristående javaapplikation genom att tillfoga en main-metod. Kom ihåg att tillse att MenyFrame stängs ordentligt vid avslut. Java15_FrameMenyGUI.doc Ove Lundgren 12
13 Kap 15: Sid 13 Övning: Från applet till GUI-applikation Ta fram en gammal applet, Cirkel.java (Testa först att den fungerar!) Vi ska göra de ändringar som krävs för att appleten ska bli en fristående applikation. Vi kallar klassen CirkelApp. Den ska ärva från frame och implementera några lyssnare: public class CirkelApp extends Frame implements ActionListener Skriv klassens konstruktor: public CirkelApp() I denna: Välj (eventuellt) flowlayout: setlayout(new FlowLayout()); Associera fönsterlyssnaren till fönstret: addwindowlistener(new FonsterLyssnare() ); Kopiera satserna i init-metoden (och i eventuell start-metod) till konstruktorn och ta bort denna (dessa) metod(er). Lägg in en inre klass för att hantera fönstret: class FonsterLyssnare extends WindowAdapter public void windowclosing(windowevent e) setvisible(false); dispose(); System.exit(0); Lägg till en main-metod: public static void main( String args[]) CirkelApp f; f = new CirkelApp(); f.setsize(400,300); f.setresizable(true); // eventuellt f.setlocation(200,200); f.setvisible(true); Spara som CirkelApp.java Kompilera och provkör Den f d appleten uppträder nu som en fristående applikation Mer att tänka på: I applets som inte har händelsehantering: Kom ihåg import java.awt.event.*; Lägg satser som används vid dubbelbuffring (createimage och getgraphics) i windowopened() Satser i appletens stop- och destroy-metod lägger du först i windowclosing() och ta bort stop-och destroy-metoderna. Ljud och bild hanteras på lite annat sätt än i applets: Se nästa avsnitt! Övning: Applet till applikation Välj någon annan applet. Skriv om den som applikation. Java15_FrameMenyGUI.doc Ove Lundgren 13
14 Kap 15: Sid 14 Bild och ljud i applikationer Bild Gör så här för att visa en bild, som är lagrad på en fil, i en applikation: Deklarera en referens Image-objekt: Image bild; Denna sats skapar Image-objektet im och hämtar bilden från fil: im = Toolkit.getDefaultToolkit().getImage("minbild.gif"); Ljud Importera paketen sun.audio och java.io : import sun.audio.*; import java.io.*; Deklarera dessa objektreferenser: InputStream in; AudioStream as; Skapa ett FileInputStream-objektet, in (Öppna en inputstream till ljudfilen): try in = new FileInputStream("ljud.au"); catch(filenotfoundexception fnfe ) Skapa ett AudioStream-objekt, as, från in: try as = new AudioStream(in); catch(ioexception ioe) Ljudet spelas upp med: AudioPlayer.player.start(as); Ljudet stoppas med: AudioPlayer.player.stop(as); Om du vill ha ett kontinuerligt ljud: Deklarera även dessa objektreferenser: AudioData data ; ContinuousAudioDataStream cas; Lägg till satserna: try data = as.getdata(); catch(ioexception ioe) cas = new ContinuousAudioDataStream (data); Ljudet spelas upp med: Ljudet stoppas med: AudioPlayer.player.start(cas); AudioPlayer.player.stop(cas); ( Källa: Tips nummer 24 ) Java15_FrameMenyGUI.doc Ove Lundgren 14
15 Kap 15: Sid 15 Dialogrutor En dialogruta (objekt ur klassen Dialog ) är ett fönster utan ram men med titellist. Övning: Meddelanderuta Öppna en applikation, förslagsvis KnappFrame.java Lägg till ytterligare en knapp, b4: Button b1, b2, b3, b4; b4=new Button("Visa meddelande"); b4.addactionlistener(this); add("north",b4); Deklarera en dialogruta, d, samt en label, en knapp och en panel som ska finnas på dialogrutan: Dialog d; Label dlabel; Button dbutton; Panel dpanel; Instansiera objekten och addera dem till dialogrutan. Knappen ska dessutom få en lyssnare: d = new Dialog(this, "Meddelande", true); dpanel = new Panel(); dlabel = new Label("Detta är ett meddelande!"); dbutton=new Button("Stäng"); d.add("center", dpanel); dpanel.add(dlabel); dpanel.add(dbutton); dbutton.addactionlistener(this); Gör tilläg i actionperformed() så att de nya knapparna får respons: if (e.getsource()==b4 &&!d.isshowing() ) // knapp b4 öppnar såvida inte // dialogrutan redan visas d.setsize(200,100); d.setlocation(200,200); d.setvisible(true); if (e.getsource()==dbutton) // knapp dbutton på dialogrutan gör att // dialogrutan stängs d.setvisible(false); d.dispose(); Spara filen. kompilera och provkör. När du klicka knappen Visa meddelande visas dialogrutan. Försök att ändra fönstrets bakgrundsfärg medan dialogrutan visas. Det går inte. Denna dialogruta är modal. Det betyder att man måste stänga dialogrutan innan man kan påverka andra fönster. Dialogrutan instansierades med satsen d = new Dialog(this, "Meddelande", true); Första argumnetet ska vara ett frame-objekt, nämligen det fönster från vilket dialogrutan startas. Den andra argumentet är texten i dialogrutans titellist. Den tredje argumentet anger om dialogrutan ska vara modal eller ej. Ändra tredje argumentet från true till false. Spara. Kompilera. Provkör. Dialogrutan är nu icke-modal. I vårt exempel kan färgerna ändras medan dialogrutan visas Java15_FrameMenyGUI.doc Ove Lundgren 15
16 Kap 15: Sid 16 Printerutskrift Från en applikation kan vi få utskrift på printer. Här är ett testprogram. Läs kommentarer nedan import java.awt.event.*; class SkrivTest extends Frame implements ActionListener PrintJob pjobb; Graphics pg; Button b; public SkrivTest() settitle("skrivtest"); b = new Button("Utskrift"); add("south",b); b.addactionlistener(this); addwindowlistener(new FonsterLyssnare() ); public void paint(graphics g) g.setcolor(color.lightgray); g.fillrect(50,50,250,80); g.setfont( new Font("Helvetica",Font.BOLD,30) ); g.setcolor(color.red); g.drawstring("hallå Java",100,100); public void actionperformed(actionevent e) pjobb = this.gettoolkit().getprintjob(this,"utskrift",null); if(pjobb!=null) pg = pjobb.getgraphics(); if(pg!=null) pg.setcolor(color.lightgray); pg.fillrect(50,50,250,80); pg.setfont( new Font("Helvetica",Font.BOLD,30) ); pg.setcolor(color.red); pg.drawstring("hallå Java",100,100); pg.dispose(); pjobb.end(); class FonsterLyssnare extends WindowAdapter public void windowclosing(windowevent e) setvisible(false); dispose(); System.exit(0); public static void main(string[] args) SkrivTest f; f = new SkrivTest(); f.setsize(360,200); f.setresizable(false); f.setvisible(true); Java15_FrameMenyGUI.doc Ove Lundgren 16
17 Kap 15: Sid 17 För utskrift används ett objekt av klassen PrintJob Objekt av klassen Window (som ju Frame ärver ifrån) har en metod vid namn gettoolkit() Denna metod returnerar ett objekt av en klass som heter Toolkit. Ett Toolkit -objekt har en metod getprintjob(frame f, String s, Properties p) som returnerar ett PrintJob-objekt. getprintjob(f,s,p) har tre argument: f är aktuell Frame (i vårt fall this) s är en sträng, ett namn på printerjobbet p är ett objekt av typ Properties som kan ge utskriften vissa egenskaper. Vi sätter värdet null. PrintJob-objektet (som vi kallar pjobb) instansieras med satsen pjobb = this.gettoolkit().getprintjob(this,"utskrift",null); pjobb har ett grafiskt objekt (precis som applets,frames, images ) Med pg = pjobb.getgraphics(); får vi en referens(i vårt fall pg ) till pjobbs grafiska objekt. Sen kan vi beskriva vad som ska skrivas ut, i vårt exempel, bland annat: pg.setfont( new Font("Helvetica",Font.BOLD,30) ); pg.setcolor(color.red); pg.drawstring("hallå Java",100,100); (Samma teknink som när vi byggde upp spökbilder för dubbelbuffring, alltså ) Kom ihåg och pg.dispose(); pjobb.end(); Övning: Utskrift Testa ovanstående applikation Java15_FrameMenyGUI.doc Ove Lundgren 17
18 Kap 15: Sid 1 Del av klasshierarkien TextComponent Event CheckBox Panel Applet Objekt Component Container Window Frame Graphics Label Dialog FileDialog CheckboxGroup Button Image List Choice Java15_FrameMenyGUI.doc Ove Lundgren 1
Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?
Programmeringsteknik och Matlab Övning 6 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs merHändelsestyrda program
JavaD- 1 Program- eller händelsestyrd exekvering Händelsestyrda program JavaD- 2 Programstyrd exekvering I ett traditionellt program bestämmer programmet när det är dags att läsa indata, programmets exekvering
Läs merKort om klasser och objekt En introduktion till GUI-programmering i Java
Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på
Läs merKungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 2 (20p + 20p = 40 p) ) Lärare, jourhavande lärare :
Läs merGrafiska komponenter.
Grafiska komponenter. Kap J5-1 Grafiska användargränssnitt är det moderna alternativet till traditionell terminal-i/o. GUI-programmering bygger på en händelsestyrd flödeskontroll. I Java utförs GUI-programmeringen
Läs merFortsättningskurs i programmering F 5. GUI händelsehantering - undantagshantering Hugo Quisbert 20130205 AWT. Paket för hantering av grafik
Fortsättningskurs i programmering F 5 GUI händelsehantering - undantagshantering Hugo Quisbert 20130205 1 Abstract Window Toolkit Paket för hantering av grafik dvs skapa grafisk användargränssnitt java.awt
Läs merKungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 3 (15p + 20p + 5p = 40 p) Lärare, jourhavande lärare
Läs merDI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:
Läs merFöreläsning 15 (16) Historik (java.awt) Historik (javax.swing) Introduktion till Swing
Föreläsning 15 (16) Introduktion till Swing Historik (java.awt) JDK 1.0 AWT (Abstract Window Toolkit) Paket för gränssnittsprogrammering Har en del nackdelar: Använder s.k. native code Stödjer endast komponenter
Läs merApplets med komponenter
5 Applets med komponenter Knappar Om gränssnitt (interface) Händelser Måla om appletytan Etiketter och textrutor Förvandla strängar till tal Aritmetik Omvandla datatyper med cast Felhantering Kap 5: Sid
Läs merLaboration 15 Grafiskt användargränssnitt
Laboration 15 Grafiskt användargränssnitt Avsikten med denna laboration är att du ska träna på att skriva program som använder grafiskt användargränssnitt, dvs program som använder grafiska komponenter
Läs merLab5 för prgmedcl04 Grafik
Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna
Läs merObjektorienterad programmering i Java. Föreläsning 5 Kort om Java-Applets
Objektorienterad programmering i Java Föreläsning 5 Kort om Java-Applets 1 Läsanvisningar Den här föreläsningen syftar till att ge en bild av vad en Java-Applet är och är ganska fristående från föregående
Läs merITK:P1 Föreläsning 4. Grafiska gränssnitt i Java. AWT-komponenter
ITK:P1 Föreläsning 4 Grafiska gränssnitt och händelsehantering 1 DSV Peter Mozelius Grafiska gränssnitt i Java Efterfrågan på program med grafiskt gränssnitt har ökat avsevärt de senaste åren I Java finns
Läs merOOP Objekt-orienterad programmering
OOP F9:1 OOP Objekt-orienterad programmering Föreläsning 9 Arv och klasshierarkier Polymorfism OOP F9:2 Djur - String namn - int vikt + String getnamn() + int getvikt() + void ökavikt(int x) Ko - int mjölkvolym
Läs merObjektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Läs mer5 Användargränssnitt. 5.1 AWT och Swing
5 Användargränssnitt 5.1 AWT och Swing AWT (Abstract Windowing Toolkit) är ett omfattande klassbibliotek för hantering av användargränssnitt i Java. Det är gjort så att applikationerna blir helt plattformsoberoende
Läs merDenna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se
1 F18-20-2006 Denna vecka Måndag: Ett komplext problem Tisdag: Lektion. Kväll: Essäfrågan distribueras via webben. Dead-line onsdag 17 maj, kl 12.00. Inlämning elektroniskt och på papper. Onsdag: Grafik
Läs merProgramstyrd / händelsestyrd
Programstyrd / händelsestyrd Jevent - 1 Händelsestyrda program Jevent - 2 Programstyrd exekvering I ett traditionellt program bestämmer programmet när det är dags att läsa indata, programmets exekvering
Läs merMalmö högskola 2007/2008 Teknik och samhälle
Laboration Gui Avsikten med denna laboration är att du ska träna på att bygga grafiska användargränssnitt. Spara dina resultat i paketet laborationgui. Längst bak i laborationen finns fullständiga lösningar
Läs merMer om grafiska komponenter. Händelsestyrda program
Layout Managers TDA143 I1 Programmerade system Föreläsning 14 (OH-bilder 10) Mer om grafiska komponenter. Händelsestyrda program Utplaceringen av komponenter i en behållare styrs med en Layout Manager.
Läs merLÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Läs merKungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 00 - juni - 17 Tentamen i Objektorientering och Java Skrivtid 5 h
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 00 - juni - 17 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 4 (12p+8p+12p+8p = 40p) Lärare, jourhavande lärare :
Läs merProgrammering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Läs merITK:P1 Föreläsning 8. Verktyget Javadoc. Kommentarer för Javadoc. Multimedia för spelkonstruktion
ITK:P1 Föreläsning 8 Multimedia för spelkonstruktion 1 DSV Peter Mozelius Verktyget Javadoc De flesta program behöver dokumentation I Java finns ett verktyg som genererar HTML- dokumentation på ett enkelt
Läs merLösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel
Lösningar till Fiktiv Tentamen på kursen 2D4135 Objektorienterad programmering, design och analys med Java vt2004 Teoridel T1) (4p) Förklara kort följande grundläggande begrepp inom objektorienterad programmering:
Läs merLektion Händelsehanterare
Lektion Händelsehanterare Händelsehanterare kallas även lyssnare. En lyssnare har som uppgift att ta hand om olika händelser som kan inträffa. För att lyssnaren skall reagera på händelser måste den registreras
Läs merTentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: 2:a september 200, klockan 8:30-12:30. Plats: V Ansvarig lärare: Katarina Blom, tel 772 10 0. Läraren besöker tentamen kl 9:30
Läs merKlasshierarkier. Klasser kan byggas på redan definierade klasser
Klasshierarkier Klasser kan byggas på redan definierade klasser på två sätt: Klassobjekt används som dataattribut när en ny klass beskrivs. Exempel: klassen partikel består av ett antal attribut av typen
Läs merFöreläsnings 11 - GUI, Händelsestyrda program, MVC
Föreläsnings 11 - GUI, Händelsestyrda program, MVC Josef Svenningsson Tisdag 20/11 Boken Denna föreläsning går igenom följande sektioner i boken: 10.1 och 10.2 11.1 Notera att kapitel 11 inte finns i boken
Läs merÖvningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Läs merSubklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 5 Innehåll Subklasser och arv Inledning till grafik (JFrame och JPanel).
Läs merRita Egna Bilder, Timer
Rita Egna Bilder, Timer Josef Svenningsson November 27, 2012 Grafik Varje gång ett fönster behöver ritas om, pga av att det flyttas eller varit övertäckt, anropas automatiskt en metod som har namnet paintcomponent.
Läs merTentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl
Läs merOOP Objekt-orienterad programmering
OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public
Läs merFöreläsning 14: Grafik & mera händelsehantering
TDA 545: Objektorienterad programmering Föreläsning 14: Grafik & mera händelsehantering Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag Idag: grafik läs kap 17 Viktigt i denna föreläsning: att rita
Läs merKonstruktion av klasser med klasser
Konstruktion av klasser med klasser Klasser kan byggas på redan denierade klasser genom att klassobjekt används som dataattribut när en ny klass beskrivs. Exempel: Klassen PairOfDice har två attribut attribut
Läs merTänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Läs merFrivillig Java-swing-Graphics-lab Programmeringsteknik MN1 vt02
Frivillig Java-swing-Graphics-lab Programmeringsteknik MN1 vt02 Denna laboration är frivillig och syftar till att låta dig lära mer om grafik i java. Labben är ganska grundlig och går igenom vad du skall
Läs merTvå designmönster, MVC och Observer/Observable. Objektorienterad programvaruutveckling GU (DIT011)
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 8 Två designmönster, MVC och Observer/Observable. Designrekommendation
Läs merTentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar
Läs merPROG2 Tenta 2013-06-07 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2
DSV SU/KTH sid 1 (6) PROG2 VT13 PROG2 Tenta 2013-06-07 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 Tentan består av tre uppgifter. Max poäng är 38. För betyget E (godkänd) krävs minst
Läs merObjektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015
Objektorienterad Programkonstruktion Föreläsning 3 9 nov 2015 Kursnämnd Namn kommer... UML: Klassdiagram UML: Relationer Ärver från superklass Implementerar gränssnitt Dubbelriktad eller oriktad relation
Läs merArv och polymorfi. Lite terminologi; Basklass eller superklass: En klass som fungerar som bas för vårt arv. Vi skapar nya klasser utifrån den.
Arv och polymorfi Arv och polymorfi är två centrala begrepp i objektorientering. Arvsmekanismen innebär att vi kan skapa nya klasser utifrån redan existerande klasser. Man gör detta med hjälp av nyckelordet
Läs merFöreläsning 12. Föreläsning 12. Rörliga figurer Klassen Timer Undantag Något om applets. Rörliga appletsfigurer Klassen Timer Undantag
Föreläsning 12 Föreläsning 12 Rörliga figurer Klassen Timer Undantag Något om applets Rörliga appletsfigurer Klassen Timer Undantag Något om applets Klassen javax.swing.timer I Swing finns en klass Timer
Läs merObjektsamlingar i Java
1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och
Läs merFöreläsning 3: Händelsestyrda program och användargränssnitt
(2 september 2015 F3.1 ) Föreläsning 3: Händelsestyrda program och användargränssnitt Idag Från sekventiella till händelsestyrda program Lyssnare Kontroller Layout för ordning av kontroller (2 september
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 7 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 7 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Grafiskt användargränssnitt, Swing Layout och komponenter Göra
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merGrundläggande programmering med C# 7,5 högskolepoäng
Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)
Läs merSwing. MER Java Foundation Classes (JFC) Hur lära sig? Vad är farorna. LayoutManagers. Exempel på några av komponenterna
MER Java Foundation Classes (JFC) Swing Swing Många klasser Vettigt att lära sig dem utantill - Tror inte det -... men det kan vara bra att ha en liten överblick över vad som finns - Idag (och med fortsättning
Läs merLite logik. Kap 6: Sid 2
6 Loopar och val Lite logik Val mellan två alternativ Val mellan flera alternativ Sammansatta villkor Boolska variabler Jämför strängar While-loopar Do-loopar For-loopar Kortformer Kap 6: Sid 2 Lite logik
Läs merTentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Läs merTENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.
Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:
Läs merDUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (8) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt namn, personnummer och e-postadress på försättsbladet. Skriv rent dina svar.
Läs merSkapa ett register över din grupp/klass
SYDSOL Handledning CW 2000-02-23 Skapa ett register över din grupp/klass Syfte: Att göra ett register i ClarisWorks och hantera olika informationer om en grupp/klass Pedagogens viktigaste uppgift är att
Läs merObjektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
Läs merLaboration 4: Game of Life
Laboration 4: Game of Life Programmerade system I1 Bakgrund: I denna laboration ska vi ägna oss åt Game of Life, vilket är en mycket enkel modell av en population organismer som kan leva, dö och fortplanta
Läs merVad är ett Framework? 2203$ ) UHOlVQLQJ. Hollywood. Frameworks (FW) Frameworks. Konstruktion av fönster, gränssnitt och användning av grafik i Java
2203$ ) UHOlVQLQJ Frameworks. Konstruktion av fönster, gränssnitt och användning av grafik i Java Innehåll, kort om: Frameworks Grafik med främst AWT Grafiska interaktiva applikationer Händelsehantering
Läs merFöreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc
Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp
Läs merSwing. MER Java Foundation Classes (JFC) Vad är farorna. Hur lära sig? LayoutManagers. Exempel på några av komponenterna
MER Java Foundation Classes (JFC) Swing Swing Många klasser" Vettigt att lära sig dem utantill" - Tror inte det" -... men det kan vara bra att ha en liten överblick över vad som finns" - Idag (och med
Läs merProgrammeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt
Programmeringsteknik II - HT18 Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt 18-09-28 1 Förra gången: Arv och klasshierarkier Vi såg hur
Läs merProjekt 2 XL. Observer-mönstret
Projekt 2 XL Objektorienterad modellering och diskreta strukturer Inför nästa projekt Lennart Andersson Reviderad 2011 10 24 2011 OMD 2011 F15-1 Schema designmöten OMD 2011 F15-2 Observer-mönstret 2 och
Läs merKlasshierarkier - repetition
Klasshierarkier - repetition Klasser kan byggas på redan denierade klasser, egna och/eller färdigskrivna, genom: I att klassobjekt används som attribut (instansvariabler): har-relation. Exempel: traksystemet
Läs merOOP Objekt-orienterad programmering
OOP F16:1 OOP Objekt-orienterad programmering Föreläsning 16 Grafiska användargränssnitt, GUI Ytor Komponenter Layout-managers Lyssnare GUI - Graphical User Interface OOP F16:2 Man skapar en yta (ett fönster)
Läs merModelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Magnus Myréen Modelsvar för Tentamen för Objektorienterad programvaruutveckling,
Läs merFöreläsning 13: Swing (GUI), händelser, timer
TDA 545: Objektorienterad programmering Föreläsning 13: Swing (GUI), händelser, timer GUI = graphical user interface Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag Idag: grafiska gränssnitt; läs kap
Läs merStyra olika typer av objekt som animering, video, ljud och Flashfilm
Grunder och Filmklippsobjekt med animering Vi vill kunna visa olika typer av mediaobjekt i en och samma Flashfilm. Vi börjar med att titta på hur man kan visa och köra en animering samt stoppa och dölja
Läs merDetta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling
Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Fulltentamen vitsord: 3=28p, 4=38p, 5= 48p, max 60p. Max 30p i denna halvtentamen Hjälpmedel:
Läs merLabbinstruktioner för Java/Swing
Labbinstruktioner för Java/Swing Grafik- och interaktionsprogrammering 2008 Martin Berglund Allmänt Dessa instruktioner är på intet sett den enda möjliga lösningen på labben, tvärtom finns
Läs merRepetitionsföreläsning 2: Quiz & problemlösning med swing Inget nytt material.
TDA 545: Objektorienterad programmering Repetitionsföreläsning 2: Quiz & problemlösning med swing Inget nytt material. Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag En quiz! tinyurl.com/tda545quiz
Läs merITK:P1 Lektion 4. Lektion 4. Lektion 4. Att implementera en spelidé i Java. DSV Peter Mozelius
ITK:P1 Att implementera en spelidé i Java DSV Peter Mozelius import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Lektion4 extends JFrame implements ActionListener { final int
Läs merTentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Läs merOmentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Teoretisk Fysik HT 08 Omentamen FYTA11 Javaprogrammering Onsdag 4:e februari 2009, 13:00 17:00 Instruktioner Inga hjälpmedel är tillåtna. Behandla högst en uppgift
Läs merFactoryCast HMI. Premium & Quantum PLC. Applets 2004-10-28
FactoryCast HMI Premium & Quantum PLC Applets 2004-10-28 INNEHÅLLSFÖRTECKNING 1 OM DETTA DOKUMENT...3 2 FÖRUTSÄTTNINGAR...3 3 PROJEKT I J++...4 3.1 LÄSA PLC-VARIABLER...4 3.1.1 Gränssnittet...4 3.1.2 Upprätta
Läs merDI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson
DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson Lösningar till TENTAMEN I IXC003 SYSTEMUTVECKLING MED INTERNET/INTRANET, del 1 (5p) för IT3 och INTERNETPROGRAMMERING MED JAVA
Läs merProgramuppbyggnad från komponenter (en liten orientering)
Programuppbyggnad från komponenter (en liten orientering) Exempel från tre områden: grafiska användargränssnitt sparande på filer datasamlingsklasser Texten till labb 8 finns sist i häftet, den finns även
Läs merObjektorienterad programmering Föreläsning 15. Grafiska användargränssnitt (GUI Graphical User Interface)
Objektorienterad programmering Föreläsning 15 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Grafiska användargränssnitt (GUI Graphical User Interface) Standardklassen (Control)
Läs merObjektorienterad Programkonstruktion, DD1346 FACIT. Tentamen 20150613, kl. 9.00-12.00
Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 FACIT Tentamen 20150613, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del
Läs merTentamen i Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Fredagen 13 januari 2012, 14.00 18.00. Jourhavande lärare: Björn von Sydow, tel 0722/391401. Inga hjälpmedel. Lösningar
Läs merFördjupad Java. Undantagshantering. Fel
Fördjupad Java 1 Undantagshantering Ett undantag (Exception) är ett objekt som påtalar en ovanlig eller felaktig situation i ett program. Undantag kastas av programmet och kan fångas och hanteras. Java
Läs merVem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Läs merTentamen Objekt-orienterad programmering med Java, 1DL100 Sommarkurs och distanskurs
Tentamen 2006-0823 Objekt-orienterad programmering med Java, 1DL100 Sommarkurs och distanskurs Uppsala Universitet Instutitionen för informationsteknologi Avdelningen för datalogi Kursansvarig: Sven-Olof
Läs merTentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34
Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger
Läs merAtt använda Java SE JDK 6
Att använda Java SE JDK 6 Programmeringsspråket Java är utvecklat av det amerikanska företaget Sun Microsystems. Sun erbjuder gratis en utvecklingsmiljö för java-programmering, Java 2 SE (Standard Edition).
Läs merLaboration 10 - NetBeans
Laboration 10 - NetBeans Avsikten med laborationen är att du ska träna på att använda paket, att du ska packa några klassfiler i en jar-fil och slutligen använda innehållet i en jar-fil från en annan klass
Läs merObjektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016
Objektorienterad Programkonstruktion Föreläsning 3 7 nov 2016 Klass/instans Med hjälp av nyckelordet static kan vi bestämma att en metod eller ett fält ska tillhöra själva klassen i stället för en specifik
Läs merEditering, Kompilering och Exekvering av Javaprogram
UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)
Läs merTentamen , Grundläggande programmering i Java
Institutionen för informationsteknologi och medier Sid:1(3) Grundläggande programmering i Java Martin Kjellqvist Lösningsförslag, lösningsansatser Tentamen 2006-01-20, Grundläggande programmering i Java
Läs merDet finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2014-10-17 Skrivtid: 0800-1300 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Läs merOOP Objekt-orienterad programmering
OOP F16:1 OOP Objekt-orienterad programmering Föreläsning 16 Grafiska användargränssnitt, GUI Ytor Komponenter Layout-managers Lyssnare GUI - Graphical User Interface OOP F16:2 Man skapar en yta (ett fönster)
Läs merTentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Teoretisk Fysik HT 08 Tentamen FYTA11 Javaprogrammering Fredag 9:e januari 2009, 09:00 13:00 Instruktioner Inga hjälpmedel är tillåtna. Behandla högst en uppgift
Läs merTentamen, EDAA20/EDA501 Programmering
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2011 10 19, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna
Läs merHögskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Micael Karlsson
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Micael Karlsson TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2000-03-22, kl 14.00-18.00 Hjälpmedel: En lärobok
Läs merFönstersystem. Objektorientering och händelsebaserad programmering. Applikation. Interaktionstoolkit. Händelsehanterare och grafiktoolkit
Objektorientering och händelsebaserad programmering Gustav Taxén gustavt@nada.kth.se Fönstersystem Applikation Interaktionstoolkit Händelsehanterare och grafiktoolkit Operativsystem Hårdvara 1 Frameworks
Läs merJAVA Mer om klasser och objektorientering
JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det
Läs merFöreläsning 7. Träd och binära sökträd
Föreläsning 7 Träd och binära sökträd Föreläsning 7 Träd Binära träd Binärt sökträd som ADT Implementering av binärt sökträd Travestera binärt sökträd Sökning Insättning/borttagning Läsanvisningar och
Läs merDagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?
Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs merSI-pass 4. Johan Brook och Jesper Persson. 25 september 2012. Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner.
SI-pass 4 Johan Brook och Jesper Persson 25 september 2012 1. Sant eller falskt? Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner. Interfaces i Java kan innehålla privata
Läs mer2. Komma igång Skapa grupper och elever Skriv också ut sidan 13 så att eleverna har en snabbguide till programmet.
2. Komma igång Skapa grupper och elever Börja med att läsa texten nedan om hur man börjar jobba med programmet efter installationen. Skriv gärna ut sidan och ha bredvid dig tills du känner att du behärskar
Läs mer