Grafiska program i Java. AWT och Swing? AWT. Swing. JButton. Button
|
|
- Max Fredriksson
- för 8 år sedan
- Visningar:
Transkript
1 Grafiska program i Java 8-1 AWT och Swing? 8-2 Programmeringsgränssnittet för grafik i Java : Java Graphics API innehåller en mängd klasser för att utveckla grafiska program. De viktigaste typerna av klasser är: Komponenter för användargränssnitt- beskriver fönster, knappar, textfält etc (kap. 9) Layouthantering - organiserar och placerar ut gränssnittskomponenter på lämpligt sätt i ett fönster Händelsehantering - fångar och hanterar händelser, t.ex. musklick eller tangentnedtryckningar, som användaren initierar Grafik ritverktyg med hjälpmedel för färger och typsnitt, etc, Innehåll: Java Graphics API AWT och Swing Frame-fönster Layouthanterare FlowLayout, GridLayout, BorderLayout Paneler Grafik Klasserna Graphics, Color och Font Metoder för ritning Händelsehantering Händelseklasser, lyssnare och lyssnarmetoder Java Graphics API erbjuder två besläktade gränssnitt för att utveckla grafiska användargränssnitt. Bägge verktygen är plattformsoberoende och applikationerna antar den exekverande plattformens look and feel AWT (Abstract Windowing Toolkit, java.awt) Många gränssnittsklasser i AWT använder en motsvarande s.k. peer-klass för att ritas ut på en viss plattform. Denna bygger på s.k. native kod. Utseendet blir härigenom delvis beroende av plattformen. Swing (java.swing) Ett nyare paket (fr. o. m JDK 1.2 ). Rekommenderas av de som utvecklar Java. Bygger på och använder även klasser i AWT. Har utökad funktionalitet med fler och mer avancerade komponenter. Utnyttjar plattformens kapacitet bättre. Använder s.k. lättviktskomponenter (utan peer-klasser) skrivna helt i Java och får därför ett mer homogent utseende på olika plattformar än AWT. Swing - ingår i JFC (Java Foundation Classes) AWT Button Swing JButton Swing-komponenter har i allmänhet ett J i början på namnet Man bör undvika att blanda AWT och Swing-komponenter
2 Java Graphics API Klassen JFrame Java Graphics API är ett utmärkt exempel på användning av klasser, arv och gränssnitt. Det består av två paket som innehåller bl.a följande klasser: java.awt: Component - superklass till alla klasser för användargränssnitt. Definierar många och viktiga egenskaper för alla komponenter. Container - grupperar gränssnittskomponenter. Frame, Applet och Panel är exempel på containrar som innehåller AWT-komponenter LayoutManager är ett gränssnitt i Java som används av en container för att positionera och placera komponenter på önskad plats i en container AWTEvent med sina subklasser - representerar händelser som komponenterna skapar Font, FontMetrics och Color är hjälpklasser för att ange färg och typsnitt på grafiska komponenter Graphics - används för att rita text, linjer och figurer javax.swing: JComponent - superklass till alla lättvikts-swingkomponenter, som t.ex. JButton JTextField m.m. JFrame och JApplet - fönster där swingkomponenter placeras Gränssnittskomponenter kan inte visas direkt på skärmen utan måste placeras på en skärmyta som ingår i något fönster. Skärmytan är en s.k. container (t.ex en Frame eller en Applet). Klassen Frame beskriver ett fristående fönster som används i applikationer med AWT-komponenter Klassen JFrame är grunden för att skapa en grafisk applikation med Swing-komponenter. Ett JFramefönster består av en titelrad och en content pane där komponenter placeras. JFrame Titelrad Content pane AWTEvent Font LayoutManager 1 Classes in the java.awt package Heavyweight Komponent FontMetrics Object Color Panel Applet JApplet Graphics Component * Container Window Frame Dialog JFrame JDialog En Applet är en skärmyta som ingår som en del i webbläsarens fönster. Applets kommer att presenteras närmare senare. När en Swingbaserad Java applet ska skapas ärver man klassen JApplet. JComponent Swing Components in the javax.swing package Lightweight
3 Swing-komponenter i ett JFrame-fönster 8-5 AWT-komponenter i ett Frame-fönster 8-6 Skapa ett JFrame-fönster, bygg upp gränssnittet genom att välja en LayoutManager, samt skapa och lägga till Swing-komponenter i fönstrets ContentPane Swing använder paketen javax.swing och java.awt class DemoInmatning extends JFrame DemoInmatning() Container con=getcontentpane(); con.setlayout(new FlowLayout()); JLabel l=new JLabel("Namn:"); con.add(l); JTextField tf=new JTextField(12); con.add(tf); JButton knapp=new JButton("Skapa"); con.add(knapp); public static void main(string[]args) DemoInmatning frame = new DemoInmatning(); frame.settitle("demo Inmatning"); frame.setsize(300, 75); frame.setvisible(true); Skapa ett Frame-fönster, bygg upp gränssnittet genom genom att välja en LayoutManager, samt skapa och lägga till AWT-komponenter i fönstret AWT använder paketet java.awt class DemoInmatning extends Frame DemoInmatning() setlayout(new FlowLayout()); Label l=new Label("Namn:"); add(l); TextField tf=new TextField(12); add(tf); Button knapp=new Button("Skapa"); add(knapp); public static void main(string[]args) DemoInmatning frame = new DemoInmatning(); frame.settitle("demo Inmatning"); frame.setsize(300, 75); frame.setvisible(true);
4 Layouthanterare 8-7 Exempel med FlowLayout 8-8 En layouthanterare (eng. Layout Manager) är ett objekt i AWT som styr utplaceringen av komponenter för att anpassa ett gränssnitt efter skillnader i olika plattformar. Varje container har en layouthanterare. Så här definieras en layouthanterare av typen FlowLayout för en container: con.setlayout(new FlowLayout()); Några vanliga typer av layouthanterare är: FlowLayout Ordnar komponenter radvis från vänster till höger, tills att raden har fyllts, på liknande sätt som texten i en boksida,. Komponenternas ursprungliga storlek behålls vid utplaceringen. GridLayout Fönstret delas upp i ett rutnät med rader och kolumner. Komponenterna ordnas radvis från vänster till höger. Alla komponenter får samma storlek. BorderLayout Fönstret delas in i fem områden. Fyra områden längs fönstrets fyra kanter och ett femte område i fönstrets mitt. GridBagLayout Liknar GridLayout men delar in fönstret ett rutnät med rutor av olika storlek. En komponent kan uppta flera celler. CardLayout CardLayout skiljer sig från andra layouthanterare genom att alla komponenter inte syns på en gång. Man definierar istället en kortlek som användaren kan bläddra i och studera ett i taget (jmfr flikar) class FlowLayoutDemo extends JFrame FlowLayoutDemo() Container con=getcontentpane(); con.setlayout(new FlowLayout()); con.setbackground(color.white); con.add(new JButton("Knapp 1")); con.add(new JButton("Knapp 2")); con.add(new JLabel("Label 3")); con.add(new JTextField("Text 4")); public static void main(string[]args) FlowLayoutDemo frame = new FlowLayoutDemo(); frame.settitle("flowlayout Demo"); frame.setsize(200, 100); frame.setvisible(true); Komponentplaceringen ändras automatiskt om fönstrets storlek ändras.
5 FlowLayout 8-9 Exempel med GridLayout 8-10 Komponenterna ordnas radvis från vänster till höger. När en rad fyllts påbörjas nästa rad. Konstruktorer: new FlowLayout(a) a anger justering på raden och kan vara FlowLayout.LEFT, FlowLayout.CENTER eller FlowLayout.RIGHT new FlowLayout(a, dx, dy) dx och dy anger avståndet i pixlar mellan komponenterna new FlowLayout() Komponenterna centreras på raden med default avstånd mellan komponenterna FlowLayout är default LayoutManager för klasserna JApplet och JPanel. class GridLayoutDemo extends JFrame GridLayoutDemo() Container con=getcontentpane(); con.setlayout(new GridLayout(2,3)); con.add(new JButton("Knapp 1")); con.add(new JButton("Knapp 2")); con.add(new JTextField("Text 4")); con.add(new JLabel("Label 3")); con.add(new JButton("Knapp 5")); public static void main(string[]args) GridLayoutDemo frame = new GridLayoutDemo(); frame.settitle("gridlayout Demo"); frame.setsize(300,100); frame.setvisible(true);
6 GridLayout 8-11 Exempel med BorderLayout 8-12 Fönstret delas in i ett rutnät med rader och kolumner. Alla celler rymmer en komponent och får samma storlek. Komponenterna placeras radvis i rutnätet från vänster till höger med början i första raden Konstruktorer: new GridLayout(r,k) Placerar komponenterna i r rader och k kolumner. Värdet 0 innebär godtyckligt antal rader respektive kolumner new GridLayout(r, k, dx, dy) dx och dy anger avstånd mellan komponenterna Antalet kolumner i rutnätet justeras om antalet komponenter som placeras inte stämmer med angivna konstruktorvärden class BorderLayoutDemo extends JFrame BorderLayoutDemo() Container con=getcontentpane(); con.setlayout(new BorderLayout()); con.add(new JLabel("EAST"), BorderLayout.EAST); con.add(new JButton("SOUTH"), BorderLayout.SOUTH); con.add(new JTextField("WEST"), BorderLayout.WEST); con.add(new JButton("NORTH"), BorderLayout.NORTH); con.add(new JButton("CENTER"), BorderLayout.CENTER); public static void main(string[]args) BorderLayoutDemo frame = new BorderLayoutDemo(); frame.settitle("borderlayout Demo"); frame.setsize(300,200); frame.setvisible(true);
7 BorderLayout 8-13 Gruppera komponenter med paneler 8-14 Delar upp fönstret i fem områden. Fyra områden längs fönstrets kanter (North, South, East eller West) och ett område i fönstrets centrum (Center). Områdenas storlek anpassas efter komponenterna. Vissa områden i fönstret kan vara tomma. Konstruktorer: new BorderLayout() new BorderLayout(dx, dy) dx och dy anger avstånd mellan komponenterna Metoder: add(c, plats ) Placerar ut komponenten c. plats kan vara BorderLayout NORTH, SOUTH, EAST, WEST eller CENTER Klassen Panel är en generell containerklass. Paneler fungerar som mindre containrar och används ofta för att gruppera gränssnittskomponenter. Paneler placeras oftast inuti en annan container, t.ex ett Frame-fönster eller en applet, men kan även placeras inne i en annan panel. En Frame-fönster indelas ofta i flera paneler, där varje panel har en egen layouthanterare. Frame Panel med Panel med BorderLayout är default LayoutManager för klassen Window med sina subklasser (JFrame och JDialog). Panel med Gränssnittskomponenter Gränssnittskomponenter Panel med Gränssnittskomponenter Gränssnittskomponenter
8 Exempel med paneler 8-15 Ritytor Graphics Context 8-16 public class PanelerDemo extends JFrame PanelerDemo() Container con=getcontentpane(); con.setlayout(new BorderLayout()); JPanel p1=new JPanel(); p1.setlayout(new FlowLayout()); p1.add(new JButton("Lägg Till")); p1.add(new JTextField(10)); p1.add(new JButton("Avsluta")); con.add(p1, BorderLayout.NORTH); JTextArea ta=new JTextArea(); con.add(ta, BorderLayout.CENTER); public static void main(string[]args) PanelerDemo frame = new PanelerDemo(); frame.settitle("paneler Demo"); frame.setsize(300,200); frame.setvisible(true); Det går inte att rita direkt på en komponent. All ritning kräver en grafisk omgivning, ett s.k. graphics context. Javasystemet skapar automatiskt ett graphics context med ett objekt av klassen Graphics. All ritning sker genom anrop till metoder i Graphics-objektet Klassen Graphics innehåller metoder för att bl.a : skriva text, samt rita linjer och figurer drawstring, drawline, drawrect, drawoval,... formatera text och ange färg setfont, setcolor,... (visa bilder drawimage) Klassen JPanel kan även användas för att rita grafik (inklusive text) Man skapar en ny klass som ärver JPanel och överskuggar metoden paintcomponent och Ex. för att skriva text i grafisk mod: class MinPanel extends JPanel public void paintcomponent(graphics g) //super-klassens paintcomponent //SKA först anropas super.paintcomponent(g); g.drawstring( Hej Världen!, 50, 50); Vid anropet av paintcomponent överförs ett objekt av klassen Graphics, ett graphics context. Med ett anrop till metoder i Graphics-objektet ritar vi i panelen.
9 Koordinatsystem för grafik 8-17 Klassen Color 8-18 Positionerna i en rityta representeras med ett koordinatsystem där varje punkt representerar en bildpunkt (pixel). Koordinatsystemet har origo i övre vänstra hörnet, med ökande X-koordinater åt höger och med ökande Y-koordinater nedåt. Varje rityta har en bredd (width) och en höjd (heigth). Det som ritas utanför ritytan kan inte ses på skärmen. <0,0> X Klassen Color används för att ange färg på grafiska komponenter. Ett färgobjekt skapas med: Color c = new Color(r, g, b); Färgen defineras med tre rgb-värden (0..255) som anger färgstyrkan för de grundfärgerna röd, grön och blå. (255, 0, 0) ger röd (0, 0, 0) ger svart (255, 255,255) ger vit Ett ljusblått färgobjekt: <55,30> Color lightblue = new Color(175,175,255); Y <width-1, height-1> I klassen Color finns även 13 fördefinierade färgobjekt med de vanligaste färgerna Color.black, Color.red,... Ritytan
10 Ange färger 8-19 Klassen Font 8-20 Metoderna setforeground och setbackground i klassen Component anger förgrunds- och bakgrundsfärg på grafiska komponenter. Metoderna har ett objekt av klassen Color som argument. Exempel för att ange bakgrundsfärgen för en panel: Color lightblue = new Color(175,175,255); JPanel p1 = new JPanel(); p1.setbackground(lightblue); Alt. med standardfärg: JPanel p1 = new JPanel(); p1.setbackground(color.white); Klassen Graphics har metoden setcolor för att bestämma färg på geometriska figurer En objekt av klassen Font bestämmer textens typsnitt, stil och storlek. Font f = new Font(typsnitt, stil, storlek); Typsnitt: SansSerif, Serif, Monospaced, Dialog, eller DialogInput Helvetica, TimesRoman, Courier OBS! Det finns olika typsnitt på olika datorsystem Stil: Font.PLAIN, Font.BOLD, Font.ITALIC Storlek: Anges i antal punkter, t ex 12 Fonten sätts med metoden setfont som är definierad i klasserna Component och Graphics. Ex: public void paint(graphics g) Font myfont = new Font("Times", Font.BOLD, 16); g.setfont(myfont); g.drawstring("welcome to Java", 20, 40); //ange en ny font g.setfont(new Font("Courier", Font.BOLD+Font.ITALIC, 12)); g.drawstring("welcome to Java", 20, 70); Det finns också en FontMetrics-klass som kan användas för att ta reda på längden på en textsträng med en viss font
11 Några exempel på fonter 8-21 Några metoder för ritning 8-22 public class DemoFonter extends JFrame public DemoFonter() getcontentpane().add(new RitPanel()); public static void main(string[]args) DemoFonter frame = new DemoFonter(); frame.settitle("paneler Demo"); frame.setsize(200,150); frame.setvisible(true); Klassen Graphics har bl.a följande ritmetoder för geometriska figurer och text : drawline(x1, y1, x2, y2) Ritar en linje från punkten (x1, y1) till (x2,y2) drawrect(x, y, b, h) Ritar en ofylld rektangel med övre vänster hörn i (x,y), bredd b och höjd h. Kan även ritas i 3D drawoval(x,y, b, h) Ritar en ofylld ellips som är inskriven i en rektangel med övre vänster hörn i (x,y), bredd b och höjd h class RitPanel extends JPanel public void paintcomponent(graphics g) super.paintcomponent(g); g.setfont(new Font("SansSerif", Font.PLAIN, 15)); g.drawstring("hej Världen!", 20, 20); g.setfont(new Font ("Serif", Font.BOLD, 15)); g.drawstring("hej Världen!", 20, 40); g.setfont(new Font("Monospaced", Font.PLAIN, 15)); g.drawstring("hej Världen!", 20, 60); g.setfont(new Font("Dialog", Font.ITALIC, 15)); g.drawstring("hej Världen!", 20, 80); g.setfont(new Font("DialogInput", Font.PLAIN + Font.ITALIC, 15)); g.drawstring("hej Världen!", 20, 100); drawpolygon(xp, yp, n) Ritar en ofylld månghörning. xp och yp är fält med punkternas x- resp. y-koordinater. n är antalet punkter: xp[] = x1, x2, x3; (alt. drawpolygon(p), p är ett Polygon-objekt) drawstring(txt, x, y) Ritar textsträngen txt med början i punkten (x,y). y- koordinaten anger textens baslinje De flesta figurer även kan ritas ifyllda (ex: fillrect). Övriga ritmetoder: drawarc, drawpolyline
12 Ett grafikexempel Program- eller händelsestyrd exekvering public class DemoGrafik extends JFrame public DemoGrafik() getcontentpane().add(new RitPanel()); public static void main(string[]args) DemoGrafik frame = new DemoGrafik(); frame.settitle( Grafik Demo"); frame.setsize(400,300); frame.setvisible(true); class RitPanel extends JPanel public void paintcomponent(graphics g) super.paintcomponent(g); g.drawrect(25, 25, 100, 50); g.setcolor(color.red); g.filloval(150, 100, 50, 50); g.fillrect(50, 150, 50, 75); g.drawline(370, 20, 32, 250); g.setcolor(color.yellow); int[] xarr = 350, 350, 150, 225, 125; int[] yarr = 100, 170, 250, 100, 50; g.fillpolygon(xarr, yarr, 5); Programstyrd exekvering I ett ett textbaserat användargränssnitt avgör programmet när det är dags för ineller utmatnig av data. Exekveringen är programstyrd. Händelsestyrd (eng. event-driven) exekvering I ett program med grafiska användargränssnitt styrs programmets exekvering av olika händelser som inträffar. Händelsen initieras av någon aktivitet från användaren, t.ex. ett musklick eller musrörelse eller tangentnedtryckning. Programmet reagerar när händelserna inträffar. Händelsestyrd programmering För att utveckla ett händelsestyrt program som hanterar de händelser som inträffar måste man oftast använda funktioner i något grafiskt användarbibliotek I Java finns dessa som funktioner som klasser i paketet java.awt.event
13 Javas modell för händelsehantering 8-25 Ex: Hantering av en ActionEvent-händelse 8-26 Javas modell för händelsehantering bygger på delegering. Ett källobjekt genererar en händelse och en lyssnare utses som fångar upp och hanterar händelsen. Så här hanteras en händelse i Java: Användar -aktivitet 1. Initiera en händelse 2. Skapa en händelse Källobjekt Händelseobjekt Registrera lyssnarobjekt 3. Meddela lyssnare Lyssnarobjekt Händelsehanterare 1. En yttre aktivitet (t.ex knappklickning), från en användare på ett källobjekt initierar en händelse. Det objekt som ska hantera händelsen registreras som ett lyssnarobjekt 2. Källobjektet skapar ett händelseobjekt som representerar händelsen. 3. Källobjektet meddelar lyssnaren att händelsen inträffat genom att anropa en händelsehanterare i lyssnarobjektet Händelseobjektet skickas med som parameter vid anropet till hanteraren En knappklickning leder till att ett ActionEvent-objekt skapas. Klassen ActionEventDemo är en lyssnare som hanterar händelsen genom att implementera metoden actionperformed i lyssnargränssnittet ActionListener import java.awt.event.*; public class ActionEventDemo extends JFrame implements ActionListener private Button bt = new Button("OK"); private JTextField tf = new JTextField(14); public ActionEventDemo() getcontentpane().setlayout(new FlowLayout()); getcontentpane().add(bt); getcontentpane().add(tf); bt.addactionlistener(this); public static void main(string[] argument) ActionEventDemo f = new ActionEventDemo(); f.settitle("actionevent Demo"); f.setsize(250, 75); f.setvisible(true); Händelsehanterare (Lyssnarmetod) public void actionperformed(actionevent event) tf.settext("ok-knappen har klickats"); Händelseobjekt
14 Lyssnare som en inre klass 8-27 Fånga och hantera händelser 8-28 Lyssnaren kan även definieras som en egen klass. Eftersom den inte används av andra klasser defineras den enklast som en inre klass import java.awt.event.*; public class ActionEventDemo extends JFrame private Button bt = new Button("OK"); private JTextField tf = new JTextField(14); public ActionEventDemo() getcontentpane().setlayout(new FlowLayout()); getcontentpane().add(bt); getcontentpane().add(tf); bt.addactionlistener(new Lyssnare()); private class Lyssnare implements ActionListener // Inre klass public void actionperformed(actionevent event) tf.settext(" OK-knappen har klickats "); public static void main(string[] argument) ActionEventDemo f = new ActionEventDemo(); f.settitle("actionevent Demo"); f.setsize(250, 75); f.setvisible(true); För att hantera en händelse definierar man en lyssnare och: (1) registrerar lyssnarobjektet som ska lyssna på källobjektets händelser (2) implementerar de speciella lyssnarmetoder i ett lyssnargränssnitt som motsvarar den aktuella händelsen När en händelse inträffar anropas automatiskt motsvarande lyssnarmetod i lyssnaren. Händelseobjektet skickas med som parameter till lyssnarmetoden (1) bt.addactionlistener(this); Lyssnarobjekt (2) public void actionperformed(actionevent event) tf.settext("ok"); Lyssnarmetod Händelseklass
15 Ex: Användaraktiviteter, källobjekt och händelseklasser 8-29 Händelseklasser 8-30 Exempel några användaraktiviteter på källobjekt och motsvarande händelseklasser: En händelse representeras med ett objekt av någon av följande klasser i paketet java.awt.event: Användaraktivitet Källobjekt Händelseklass Klickat på en knapp JButton ActionEvent Trycka på retur i ett JTextField ActionEvent textfält Bytt textinnehåll JTextComponent TextEvent Dubbelklickat på ett JList ActionEvent listobjekt Markererat eller JList ItemEvent avmarkerat element med enkelklick Markererat eller JComboBox ItemEvent avmarkerat element EventObject AWTEvent ListSelectionEvent ActionEvent AdjustmentEvent ComponentEvent ItemEvent TextEvent ContainerEvent FocusEvent InputEvent PaintEvent WindowEvent MouseEvent KeyEvent Händelseobjektet innehåller uppgift om bl.a: source: Den komponent på vilken händelsen inträffade x, y koord.: Muspekarens läge när en mouse movement händelse inträffat clickcount: Antalet musklick vid en MouseEvent key: Den tangent som tryckts ned eller släppts upp.
16 Gemensam lyssnare för flera händelser 8-31 Händelseklasser, lyssnargränssnitt och lyssnarmetoder 8-32 Om flera källobjekt genererar händelser som ska hanteras av samma lyssnare måste denna först identifiera källobjektet. Antag att vi kan klicka på två knappar med namnen btok och btavbryt. Lyssnaren registreras med: btok.addactionlistener(this); btavbryt.addactionlistener(this); Metoden getsource() i ActionEvent returnerar källobjektet som ska identifieras: public void actionperformed(actionevent event) if (event.getsource() == btok) tf.settext("ok-knappen har klickats"); else if (event.getsource() == btavbryt) tf.settext( Avbryt-knappen har klickats"); Händelseklass Lyssnargränssnitt Lyssnarmetod (hanterare) ActionEvent ActionListener actionperformed ItemEvent ItemListener itemstatechanged WindowEvent WindowListener windowclosing windowopened windowiconified windowdeiconified windowclosed windowactivated windowdeactivated ContainerEvent ContainerListener componentadded componentremoved ComponentEvent ComponentListener componentmoved componenthidden componentresized componentshown FocusEvent FocusListener focusgained focuslost TextEvent TextListener textvaluechanged KeyEvent KeyListener keypressed keyreleased keytyped MouseEvent MouseListener mousepressed mousereleased mouseentered mouseexited mouseclicked MouseMotionListener mousedragged mousemoved AdjustmentEvent AdjustmentListener adjustmentvaluechanged
17 Namnkonventioner för händelser och lyssnare 8-33 Det finns normalt ett lyssnargränssnitt för varje händelseklass. Namnet på händelseklassen motsvaras av namnet på lyssnargränssnittet och namnet på metoden för att registrera en lyssnare till en komponent Ex: ok.addactionlistener(new Lyssnare()); class Lyssnare implements ActionListener public void actionperformed(actionevent event) result.settext( OK ); Händelseklass: ActionEvent Registrera lyssnare: addactionlistener Lyssnargränssnitt: ActionListener Allmänt: Lyssnare registreras med addxlistener för XEvent Lyssnargränssnittet heter XListener för XEvent
Hä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 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 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 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 mer2I1049 Föreläsning 8. Grafiska gränssnitt i Java. AWT-komponenter. Grafiska gränssnitt, Java interface och händelsehantering
2I1049 Föreläsning 8 Grafiska gränssnitt, Java interface och händelsehantering 1 KTH-MI Peter Mozelius Grafiska gränssnitt i Java Efterfrågan på program med grafiskt gränssnitt har ökat avsevärt de senaste
Läs 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 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 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 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 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 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 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 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 merObjektorienterad programmering med Java Swing. Programexempel. Swing och AWT AWT. = Abstract windowing toolkit
Swing och AWT Objektorienterad programmering med Java Swing Sven-Olof Nyström Uppsala Universitet March 14, 2006 Skansholm: Kapitel 6 AWT = Abstract windowing toolkit använder värddatorns fönstersystem
Läs merFöreläsning 3: Händelsestyrda program och användargränssnitt
(2 september 2015 F3.1 ) Föreläsning 3: Händelsestyrda program och användargränssnitt Idag Från sekventiella till händelsestyrda program Lyssnare Kontroller Layout för ordning av kontroller (2 september
Läs merFörelä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 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 merGrafiska program i Java
8-1 Program- eller händelsestyrd exekvering Grafiska program i Java 8-2 Programstyrd exekvering I ett ett textbaserat användargränssnitt avgör programmet när det är dags för ineller utmatnig av data. Exekveringen
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 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 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 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 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 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 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 merDetta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling
Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Fulltentamen vitsord: 3=28p, 4=38p, 5= 48p, max 60p. Max 30p i denna halvtentamen Hjälpmedel:
Läs merFönsterhantering, grafik
Spel: exempel Ex. skattjakt Fönsterhantering, grafik (del 2) Plan (16x16 rutor) Valt array som datastruktur En spelare En fiende Vet spelarens position Bör egentligen inte veta! Programmering tillämpningar
Läs merJava-concept och Swing. Swing low, sweet chariot
Java-concept och Swing Swing low, sweet chariot Javas Swing-API En del av Javas standard-api API - application programming interface Ett klassbibiliotek som följer med Java Är designat med många OO-concept
Läs 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 merGrafiska användargränsnitt i Java. Föreläsning 7 Innehåll. Använda klasspaketet Swing. Klasspaket i Java. Grafiska användargränsnitt i Java
Föreläsning 7 Innehåll Grafiska användargränsnitt i Java Grafiska användargränsnitt i Java Komponenter (fönster, knappar, ) Layout Händelsehantering (Hur man får någonting att hända när användaren t.ex.
Läs merFöreläsning 10. Mer om grafiska komponenter Händelsestyrda program. Layout Managers
Föreläsning 10 Mer om grafiska komponenter Händelsestyrda program Layout Managers Utplaceringen av komponenter i en behållare styrs med en layout manager. Det finns olika layout managers: FlowLayout GridLayout
Läs merFöreläsning 10. Mer om grafiska komponenter Händelsestyrda program. Layout Managers. Exempel: FlowLayout. Klassen FlowLayout
Layout Managers Föreläsning 10 Mer om grafiska komponenter Händelsestyrda program Föreläsn Utplaceringen av komponenter i en behållare styrs med en layout manager. Det finns olika layout managers: FlowLayout
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 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 merObjektorienterad Programmering DAT043. Föreläsning 5 29/1-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)
Objektorienterad Programmering DAT043 Föreläsning 5 29/1-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) 1 Repetition: Arv En subklass ärver alla variabler och metoder från sin superklass.
Läs 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 merGrundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 18
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 18 Igår: Genomgång av dugga Rekursion Idag och på måndag: Om essän Lite, lite teori om konstanter Grafiska användargränssnitt Grundläggande
Läs 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 merGrafiskt användargränssnitt (GUI-Graphical User Interface) intro Komponenter
Grafiskt användargränssnitt (GUI-Graphical User Interface) intro Komponenter De komponenter som vi ska titta lite närmare på den här gången är paneler (JPanel), knappar (JButton), textfält (JTextField).
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 merTDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3
TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 Laboration 3 Visualisering (och implementering) av sortering Exempel på grafik (med Swing-paketet) Frågor 1 Laboration 3 Visualisering
Läs merDagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?
Programmeringsteknik och Matlab Övning 6 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs merSMD091 Lektion 9. Definition. Inkapsling. Lite repetition. Grafik. Gränssnitt Definition och Implementation. Sammansättning... Implementation.
SMD091 Lektion 9 Inkapsling Lite repetition Grafik 1 2 Gränssnitt Definition och Implementation Sammansättning... Definition...är ofta det bästa sättet att använda funktionalitet i andra klasser. Ratt
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 merObjektorienterad programmering med Java Swing: Händelser, lyssnare och applets
GUI (forts) Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets Sven-Olof Nyström Uppsala Universitet 18 mars 2005 Skansholm: Kapitel 6 Användaren kan kommunicera med programmet
Läs 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 merGrafiska användargränssnitt i Java
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Stora delar har
Läs merTDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3
TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 Laboration 3 Visualisering (och implementering) av sortering Exempel på grafik (med Swing-paketet) Frågor 1 Laboration 3 Visualisering
Läs 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 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 mer1 Grafiska komponenter
1 Grafiska komponenter Vi har sett exempel på hur vi kan arbeta med enkla dialogrutor med klasser JOptionPane och hur vi kan rita med en rityta, Graphics instans, i en Java applet. Att skapa ett grafiskt
Läs merArv och Grafiska Användargränssnitt
Arv och Grafiska Användargränssnitt Bildserie 5 Plattform Java är inte bara ett språk utan en s.k. plattform - Förutom språket finns en otrolig mängd färdiga klasser samlade i bibliotek (kallas också API:n,
Läs merFöreläsning 11. Att rita egna bilder.
Föreläsning 11 Att rita egna bilder. 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. I ett program
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 merGrafiska användargränssnitt i Java
jonas.kvarnstrom@liu.se 2017 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Till stor del ersatt av Swing: Mer omfattande,
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 merID1004 Laboration 3, 5-6 November 2012
18-okt-2012/FK ID1004 Laboration 3, 5-6 November 2012 Labben bör göras individuellt. Beräknad tid ca 2 timmar. Instruktionen antar att labben utförs i datasal, med hjälp av den integrerade utvecklingsmiljön
Läs merAtt prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass.
Datateknik A, Syfte: Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass. Att läsa: Lektion 2 Uppgifter:
Läs merArv, Grafiska användaregränssnitt och Inre klasser! Förelasning 12!! TDA540 Objektorienterad Programmering!
Arv, Grafiska användaregränssnitt och Inre klasser! Förelasning 12!! TDA540 Objektorienterad Programmering! Mer om Arv Har tidigare konstaterat att alla klasser ärver (inherit) klassen Object om inget
Läs merMVC-mönstret. model-view-control i Swing
MVC-mönstret model-view-control i Swing MVC Tanken bakom MVC (model view control) är att separera uppgifter i ett program från varandra. Model - Den data som behandlas View - Hur användargränssnittet ser
Läs merFöreläsning 11. Att rita egna bilder. Grafik. Klassen Graphics. Fönstrets koordinatsystem
Grafik Föreläsning 11 Att rita egna bilder. Fönstrets koordinatsystem Föreläsn Att rita eg Koordinatsystemet som används i Java har en horisontell x-axel och en vertikal y-axel, med origo (0,0) i övre
Läs merGUI Nyckelbeståndsdelar
GUI Nyckelbeståndsdelar Nyckelbeståndsdelar i ett grafiskt användargränssnitt i Java: GUI komponenter Layout hanterare (-manager) Händelsehantering (event processing) GUI komponenter är de element på skärmen
Läs merGrafik, bilder och ljud
Swing * Eclipse * Midlets * Android 5 Grafik, bilder och ljud Klassen JPanel JPanel som rityta Färger, texter och figurer Visa en bild Spela ett ljud JPanel som container Metoden repaint() Egna grafiska
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 merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Algoritmanalys, Ordo Sortering, Insertionsort
Läs merGrafiska användargränssnitt i Java
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Stora delar har
Läs merSwing. MER Java Foundation Classes (JFC) Vad är farorna. Hur lära sig? LayoutManagers. Exempel på några av komponenterna.
Swing Många klasser MER Java Foundation Classes (JFC) Swing Jättemånga klasser Vettigt att lära sig dem utantill Tror inte det Hur lära sig? Principerna Model - view - controller Observer - observed Öva,
Läs merSwing. MER Java Foundation Classes (JFC) Hur lära sig? Vad är farorna. Exempel på några av komponenterna. LayoutManagers.
Swing Många klasser MER Java Foundation Classes (JFC) Swing Vettigt att lära sig dem utantill Tror inte det... men det kan vara bra att ha en liten överblick över vad som finns Hur lära sig? Principerna
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 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 merFrames, menyer och GUI-program
15 Frames, menyer och GUI-program Frames En frame-klass Om konstruktorer - igen Funktionella fönster Menyer Popupmenyer GUI-applikationer Dialogrutor Printerutskrift Kap 15: Sid 2 Frames Redan i kapitel
Läs merArvshierarki. Object. Bostadshus. Flerfamiljshus. Villa
Arv Arv är en grundläggande objektorienterad teknik för att organisera och återanvända klasser. Med arv kan man definiera en klass utgående från en redan existerande klass. Den nya klassen återanvänder
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 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 mer27. GUI Programming. Java. Summer 2008 Instructor: Dr. Masoud Yaghini
27. Java Summer 2008 Instructor: Dr. Masoud Yaghini Until now, you have only used dialog boxes and the command window for input and output. You used JOptionPane.showInputDialog to obtain input, and JOptionPane.showMessageDialog
Läs merMalmö högskola 2007/2008 Teknik och samhälle
Laboration 13 Avsikten med denna laboration är att du ska använda ett par nya grafiska komponenter. Dessutom ska du göra designen utan hjälp av en layout-manager (enklare). Börja med att skapa paketet
Läs merExempel på användning av arv: Geometriska figurer
(9 maj 2014 Klasshierarkier 1 ) Exempel på användning av arv: Geometriska figurer Uppgift: Skriv ett program som kan hantera några olika geometrisk figurer: linjer, cirklar och rektanglar. (9 maj 2014
Läs merLiTHehack? Här? lithehack se koma Tisdagar och torsdagar
0 Java och Swing LiTHehack? Här? @ kontakt /. lithehack se. lithehack se koma -, 17 19 Tisdagar och torsdagar Idag grafik menyer kortkomandon pop up-menyer submenyer Skansholm Java direkt upplaga 6 eller
Läs merFÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl
Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i
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 merKlasser för grafik och bildhantering
Swing och AWT Fem typer av klasser GUI-komponenter Layout-hanterare Händelser och händelselyssnare Klasser för grafik och bildhantering Objectorienterad programmering Sida 1 AWT AWT = Abstract windowing
Läs merSwing. MER Java Foundation Classes (JFC) Vad är farorna. Hur lära sig? Exempel på några av komponenterna. LayoutManagers.
Swing Många klasser MER Java Foundation Classes (JFC) Swing 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 merFör att hitta filen gå till mappen NetBeansProjects. Välj undermappen med rätt projekt, och sedan undermapp dist. Där ligger.jar-filen.
Java utan netbeans Du har gjort ett program i netbeans Hur exportera det så att andra kan köra det utan att använda netbeans? Välj projektet som main project Högerklicka på det och välj Clean and Build
Läs merGUI-program med Swing
Swing * Eclipse * Midlets * Android 4 GUI-program med Swing Javas AWT- och Swing-paket Ett GUI-program En JLabel En JButton Om gränssnitt Händelsehantering Skriv in text Mata in tal Aritmetik Typomvandling
Läs 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 merPROG2 Tenta 2014-05-02 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2
DSV SU/KTH sid 1 (6) PROG2 PROG2 Tenta 2014-05-02 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 Tentan består av tre uppgifter. Max poäng är 38. För betyget E (godkänd) krävs minst
Läs merGrafiska användargränssitt och händelsehantering
Grafiska användargränssitt och händelsehantering i Java GUI i Java AWT, Abstract Window Toolkit, java.awt Använder systemets GUI-komponeneter Swing, javax.swing Komponenter, förutom fönster, renderas av
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 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 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 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 merMalmö högskola 2007/2008 Teknik och samhälle
Laboration 12 Avsikten med denna laboration är att du ska göra några grafiska program. Börja med att skapa paketet laboration 12. Grundläggande uppgift Uppgift 12a Uppgiften går ut på att göra en enkel
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 merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 7 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 7 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Strömmar Grafiskt användargränssnitt,
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: Objektorienterad analys, Objektorienterad design Grafiskt användargränssnitt,
Läs merModellsvar 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 Modellsvar för Tentamen för Objektorienterad programvaruutveckling,
Läs merObjektorienterad Programmering DAT043. Föreläsning 6 30/1-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)
Objektorienterad Programmering DAT043 Föreläsning 6 30/1-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) 1 Repetion: En GUIapplikation med Swing Huvudklass implementerar Runnable - metoden
Läs merTDDD78, TDDE30, 729A Grafik: Att "rita" egna komponenter
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Grafik: Att "rita" egna komponenter Intro 1: Rita Allt på skärmen ritas som pixlar Även de vanliga GUI-komponenterna 2 Gradienter, skuggning Matematisk
Läs mer