Grafiska användargränssnitt i Java
|
|
- Ellinor Fredriksson
- för 6 år sedan
- Visningar:
Transkript
1 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen
2 Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Till stor del ersatt av Swing: Mer omfattande, mer flexibelt Passar bra för våra behov Illustrerar begrepp som är vanliga i GUI-programmering Nytt alternativ: JavaFX Helt annan struktur (scenes, stages, nodes)
3 Del 1: Att använda Swing: Fönster, knappar, menyer, Layout (placering) Händelsehantering någon tryckte en knapp" Genomgående exempel: "Ordbehandlare" Del 2: Att rita på skärmen, i en egen komponent
4
5 Att öppna ett fönster 5 Fönster: JFrame public class WordProcessor01 { private JFrame frame; uiswing/components/frame.html Ordbehandlaren behöver komma ihåg sitt fönster public WordProcessor01() { this.frame = new JFrame("Word Processor 1.0"); frame.setsize(640, 300); Sätt fönsterstorleken, frame.setvisible(true); se till att fönstret visas på skärmen public static void main(string[] args) { new WordProcessor01(); Skapa ett objekt, glöm bort det, och avsluta? Konstruktorn för JFrame "registrerar" fönstret det glöms inte bort Så länge det finns ett öppet fönster, avslutas inte Java!
6 Komponenter och behållare 6 En JFrame är: uiswing/components/frame.html En komponent Något grafiskt som visas på skärmen En behållare (container) Något som kan innehålla andra komponenter Fönstertitel Menyrad Kan läggas till vid behov Innehåll: Content pane Hela fönstrets innehåll. utom titelrad / menyrad
7
8 Komponenter Istället för att "rita": Säg till vilka komponenter som ska finnas Menyer, knappar, textfält, statusrad Swing sköter om utseende (med mera) 8 Alla komponenter:
9 Knappar i Java 9 uiswing/components/button.html uiswing/components/buttongroup.html Grunden för Swing-komponenter Gemensam implementation: Knappar Radioknappar: Bara en aktiv åt gången i varje ButtonGroup Har två lägen, av/på Standardknapp Checkbox, av/på
10 Textkomponenter 10 uiswing/components/text.html Editera text med flera stilar: HTML, Abstrakt, gemensam funktionalitet En enda rad text Textarea med flera rader Speciell formattering för datum, valuta, Lösenord syns inte när de skrivs in
11 Ordbehandlare med komponenter 11 public class WordProcessor02 { private JFrame frame; uiswing/components/label.html public WordProcessor02() { this.frame = new JFrame("Word Processor 1.0"); frame.add(new JButton("B")); frame.add(new JButton("I")); frame.add(new JButton("U")); frame.add(new JButton("Left")); frame.add(new JButton("Center")); frame.add(new JButton("Right")); frame.add(new JButton("Print")); frame.add(new JTextPane()); frame.add(new JLabel("Status: OK")); // JLabel visar text, kan inte editeras frame.pack(); frame.setvisible(true); public static void main(string[] args) { new WordProcessor02(); Lägger till flera komponenter till behållaren fönstret Inget syns på skärmen än! NU är det dags att visa fönstret och dess innehåll
12 Hålla reda på komponenter 12 public class WordProcessor02b { private JFrame frame; private JTextPane text = new JTextPane(); private JLabel status = new JLabel("Status: OK"); public WordProcessor02b() { this.frame = new JFrame("Word Processor 1.0"); frame.setlayout(new FlowLayout()); frame.add(new JButton("B")); frame.add(new JButton("I")); frame.add(new JButton("U")); frame.add(new JButton("Left")); frame.add(new JButton("Center")); frame.add(new JButton("Right")); frame.add(text); frame.add(status); frame.pack(); frame.setvisible(true); public static void main(string[] args) { new WordProcessor02b(); uiswing/components/label.html Behåll pekare till det du vill kunna komma åt igen senare (plocka ut texten för att spara den, )
13 Resultat 13 Resultat: Rätt komponenter Fel layout Liten textarea
14
15 Layout 1: Önskemål Hur får vi önskad layout (positioner och storlek)? 15 JButton JButton JButton JButton JTextPane JButton JFrame Content Pane JLabel
16 Layout 2: Absoluta koordinater? 16 Absoluta koordinater? component.setsize(int width, int height); component.setlocation(int x, int y); // Från behållarens övre vänstra hörn Fördelar / nackdelar: (+) Enkelt att förstå ( ) Inget stöd för att ändra fönsterstorlek ( ) Hur hanterar man större text? ( ) Översättningar till andra språk, där ord kan ta mer plats? Tools / Инструменти URL / nettadresse
17 Layout 3: Önskad storlek 17 Preferred Size uiswing/layout/index.html Komponenter kan tala om sin önskade storlek (preferred size) JButton: Storlek på texten i inställd fontstorlek + lite marginaler Ingen text inskriven preferred size är minimal! Varje behållare har en layouthanterare (layout manager) Frågar subkomponenter hur stora de vill vara Applicerar layoutregler (här: "Allt i en rad") Summerar, beräknar behållarens önskade storlek
18 Layout 3: Innehållshierarkin 18 Anropa pack() i ett fönster (frame) Så frågar den sin layouthanterare hur mycket plats den behöver använd den storleken! Fönster Menyrad ContentPane Meny: File Meny: Edit Meny: Help Knapp1 Knapp2 Textfält Statusrad Val1 Val2 Val3
19 Layout 4: Annan storlek än önskad 19 När en komponent får annan storlek än den begärda: Layouthanteraren har regler för hur utrymmet ska användas Extra utrymme på höjden: Ska användas till textarean Extra utrymme på bredden: Menyrad: Extra plats mellan Edit och Help Knapprad: Allt vänsterjusterat Textfält, statusrad: Använder hela utrymmet Just nu:
20 MigLayout 1: Introduktion 20 MigLayout rekommenderas starkt! Nu: De enklaste funktionerna Se Baserad på rutnät
21 MigLayout 2: Rutor Komponenter använder en eller flera rutor 21 B I U Left Cent er Right Print Textarea Statusrad
22 MigLayout 3: Anpassning Kolumnbredder och radbredder anpassas till komponenterna Ange vilka celler som ska använda "överbliven plats" 22 B I U Left Center Right Print Textarea Statusrad
23 MigLayout 4: Hur får cellerna växa? 23 public WordProcessor03() { this.frame = new JFrame("Word Processor 1.0"); frame.setlayout(new MigLayout( "", // Allt, globalt "[][][][][][][grow]", // Varje kolumn (7 st) sista kolumnen får växa "[][grow][]" // Varje rad (3 st) mittersta får växa )); B I U Left Center Right Print Textarea Statusrad
24 MigLayout 5: Ordbehandlaren 24 public WordProcessor04() { this.frame = new JFrame("Word Processor 1.0"); frame.setlayout(new MigLayout("", "[][][][][][][grow]", "[][grow][]")); frame.add(new JButton("B")); frame.add(new JButton("I")); frame.add(new JButton("U"), frame.add(new JButton("Left")); frame.add(new JButton("Center")); frame.add(new JButton("Right"), frame.add(new JButton("Print"), frame.add(text, frame.add(status, "gapright unrelated"); "gapright unrelated"); "wrap"); "span 7, grow, wrap"); "wrap"); Separation Avsluta "gruppen": Mellanrum till höger, lagom för "orelaterad component" Wrap: Radbyte Span, grow: Storlek Span: 7 rutor frame.pack(); frame.setvisible(true); Grow: Låt textrutan växa sig större än nödvändigt
25 Scrollning Textfältet måste kunna scrollas Inte "inbyggt" i JTextPane lägg den i en JScrollPane public WordProcessor04() { frame.add(text, "span 7, grow, wrap"); 25 public WordProcessor05() { frame.add(new JScrollPane(text), "span 7, grow, wrap"); Fönster Knappar JScrollPane Statusrad uiswing/components/scrollpane.html Textfält
26
27 Menyraden Menyer hanteras (lite) annorlunda Läggs inte till direkt i fönstret, utan i dess menyrad 27 Fönstertitel Menyrad Innehåll: Content pane
28 Uppdelning Vi lägger menyhanteringen i en egen metod 28 public WordProcessor06() { this.frame = new JFrame("Word Processor 1.0"); frame.setlayout(new MigLayout("", "[][][][][][][grow]", "[][grow][]")); createmenus(); frame.add(.); frame.pack(); frame.setvisible(true); private void createmenus() { public static void main(string[] args) { new WordProcessor06();
29 Att skapa menyer 29 private void createmenus() { final JMenuBar bar = new JMenuBar(); final JMenu file = new JMenu("File"); file.add(new JMenuItem("Open", 'O')); file.add(new JMenuItem("Save As", 'A')); file.addseparator(); file.add(new JMenuItem("Print")); bar.add(file); final JMenu edit = new JMenu("Edit"); edit.add(new JMenuItem("Cut")); edit.add(new JMenuItem("Copy")); edit.add(new JMenuItem("Paste")); bar.add(edit); // Understruket O // Separator final JMenu help = new JMenu("Help"); help.add(new JMenuItem("About WordProcessor 1.0")); bar.add(box.createhorizontalglue()); bar.add(help); frame.setjmenubar(bar); uiswing/components/menus.html, separator.html Separering Skapar en osynlig komponent, 0 pixel hög, godtyckligt bred
30
31 Händelsehantering: Principer Hur vet vi när någon tryckte på en knapp? TDDD73: Vänta på ett klick Måste veta när det kan hända Måste hantera allt själva koordinater, 31
32 Händelsehantering: Principer (2) I många grafiska gränssnitt: Säg till systemet vad det ska göra när en knapp trycks Fortsätt själv med något annat När knappen trycks hanteras detta asynkront i en annan tråd 32 Som om du har en assistent som hjälper till Du säger: "Om knappen trycks, gör detta" Assistenten håller koll på inmatning Ser att knappen trycktes in, gör vad du bad om
33 Lyssnare 1: Gränssnitt och implementation Hur representerar vi vad assistenten ska göra? Vi ger assistenten ett objekt, en lyssnare När något händer anropar assistenten en metod i lyssnaren 33 Det finns redan många gränssnitt för lyssnare exempel: public interface MouseListener extends EventListener { Vi får själva implementera gränssnitten public class ClickPrinter implements MouseListener { public void mouseclicked(mouseevent e) { System.out.println("Hey! Someone clicked!"); public void mouseclicked(mouseevent e); public void mousepressed(mouseevent e);
34 Lyssnare 2: Registrering Varje komponent har en egen lista på lyssnare // Existerande klass i Swing (något förenklat ) public class Component { private List<MouseListener> mouselisteners; public void addmouselistener(mouselistener ml) { mouselisteners.add(ml); Vi kan lägga till vår egen lyssnare till en komponent // Vår egen klass public class MyGUI { private JFrame frame = ; public MyGUI() { MouseListener ml = new ClickPrinter(); frame.addmouselistener(ml); // Vårt jobb är klart assistenten tar hand om händelserna 34
35 Lyssnare 3: När något händer När någon klickar med musen: Java får "rå" input från operativsystemet I en händelsehanteringstråd i bakgrunden ("assistenten") Skapar ett objekt som beskriver händelsen: MouseEvent, KeyEvent, 35 public class MouseEvent extends InputEvent { int x; // Koordinater int y; int clickcount; // Hur många gånger klickade de? int button; // Med vilken musknapp?
36 Lyssnare 4: När något händer När någon klickar med musen: Java får "rå" input från operativsystemet I en händelsehanteringstråd i bakgrunden ("assistenten") Skapar ett objekt som beskriver händelsen: MouseEvent, KeyEvent, 36 Skickar händelsen till den relevanta komponenten Komponenten informerar (anropare en metod i) varje lyssnare for (MouseListener ml : this.mouselisteners) { ml.mouseclicked(event); Inkluderar vår registrerade ClickPrinter public class ClickPrinter implements MouseListener { public void mouseclicked(mouseevent e) { System.out.println("Hey! Someone clicked!");
37 Lyssnare 5: Nästlad klass Bekvämlighet: Kan lägga en klass inuti en annan, nästlat Färre filer att hålla reda på Lyssnarklassen behöver inte "synas" utåt public class MyGUI { public MyGUI() { MouseListener ml = new ClickPrinter(); frame.addmouselistener(ml); // Vårt jobb är klart assistenten tar hand om händelserna 37 private class ClickPrinter implements MouseListener { public void mouseclicked(mouseevent e) { System.out.println("Hey! Someone clicked!");
38 ActionListener 1: Introduktion Vanlig och enkel lyssnare: ActionListener Anger vad som ska göras när någon vill "utföra en handling" 38 Menyval Knapptryck Dubbelklick i lista package java.awt.event; import java.util.eventlistener; public interface ActionListener extends EventListener { /** Invoked when an action occurs. */ public void actionperformed(actionevent e);
39 ActionListener 2: Exempel 39 public class WordProcessor07 { private JTextPane text = new JTextPane(); public WordProcessor07() { final JButton bold = new JButton("B"); bold.addactionlistener(new BoldListener(text)) frame.add(bold); Skapa knapp Ge den en lyssnare Lägg till den i fönstret Menyer hanteras på samma sätt private class BoldListener implements ActionListener { private final JTextPane text; public BoldListener(final JTextPane text) { this.text = text; Håll reda på textkomponenten public void actionperformed(final ActionEvent e) { text.getstyleddocument().setcharacterattributes(...); Om/när vi anropas: Manipulera textkomponenten
40 ActionListener 3: Förenklat mellansteg 40 public class WordProcessor08 { private JTextPane text = new JTextPane(); public WordProcessor08() { final JButton bold = new JButton("B"); bold.addactionlistener(new BoldListener()) frame.add(bold); private class BoldListener implements ActionListener public void actionperformed(final ActionEvent e) { text.getstyleddocument().setcharacterattributes(...); Inre klasser kan komma åt fält i yttre klasser
41 ActionListener 4: Metodreferens 41 public interface ActionListener extends EventListener { public void actionperformed(actionevent e); 1. ActionListener har en enda metod public class WordProcessor10 { public WordProcessor10() { final JButton bold = new JButton("B"); bold.addactionlistener(this::makebold); frame.add(bold); 3. Ange en referens till den metoden! Kompilatorn ser till att det skapas ett objekt av ActionListener-typ, som anropar makebold() private void makebold(actionevent e) { text.getstyleddocument().setcharacterattributes(...); 2. Implementera en metod med samma parametrar
42 Några viktiga lyssnarklasser 42 ActionListener Knapp tryckt, menyval gjort, AdjustmentListener Slider eller scrollbar flyttad ItemListener Markering i lista MouseListener Musknappar MouseMotionListener Förflyttning av muspekare KeyListener Tangent tryckt / släppt, tecken skrivet Skickas till komponenten som har tangentbordsfokus Komplicerat ofta är key bindings bättre
43 Tangentbordsbindningar KeyStroke: En kombination av tangenter (X, Ctrl-Shift-Z, ) 43 Varje komponents InputMap gör om KeyStrokes till namn på handlingar Namnet på en handling ("flyttaåtvänster") Varje komponents ActionMap mappar namnet till ett handlingsobject Action: Kod att utföra
44 Tangentbordsbindningar: Exempel 44 public class WordProcessor20 { private JFrame frame; public WordProcessor20() { this.frame = new JFrame("Word Processor 1.0"); JComponent pane = frame.getrootpane(); Kan ta getrootpane() eller en annan komponent som ligger i fönstret final InputMap in = pane.getinputmap(jcomponent.when_in_focused_window); in.put(keystroke.getkeystroke("alt F4"), "quit"); final ActionMap act = pane.getactionmap(); act.put("quit", new QuitAction()); private class QuitAction extends AbstractAction public void actionperformed(final ActionEvent e) { System.exit(0); När fokus är i samma fönster som komponenten, och man trycker Alt F4: "quit" När man får "quit": Utför denna handling Här definieras själva handlingen (ungefär som en lyssnare)
45 Tangentbordsbindningar: Länkar Mer information:
46
47 Att stänga ett fönster För att stänga ett fönster: Anropa frame.dispose() 47 För att bestämma vad stäng-knappen gör: Använd myframe.setdefaultcloseoperation(x), där x är WindowConstants.HIDE_ON_CLOSE (default, gömmer bara fönstret) WindowConstants.DO_NOTHING_ON_CLOSE WindowConstants.DISPOSE_ON_CLOSE WindowConstants.EXIT_ON_CLOSE
48 WindowListener För att lägga till en "är du säker?"-fråga: Använd DO_NOTHING_ON_CLOSE Lägg till en WindowListener som gör det verkliga jobbet 48 package java.awt.event; public interface WindowListener extends EventListener { public void windowopened(windowevent e); public void windowclosing(windowevent e); public void windowclosed(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 stängknappen trycks
49 WindowAdapter För bekvämlighet: Utöka istället WindowAdapter Tomma dummy-implementationer av alla metoder 49 package java.awt.event; public class WindowAdapter implements WindowListener { public void windowopened(windowevent e) { public void windowclosing(windowevent e) { public void windowclosed(windowevent e) { public void windowiconified(windowevent e) { public void windowdeiconified(windowevent e) { public void windowactivated(windowevent e) { public void windowdeactivated(windowevent e) {
50 Exempel: Dialogruta 50 public class AskBeforeClosing { private JFrame frame; public AskBeforeClosing() { this.frame = new JFrame("Try to close me"); frame.setdefaultcloseoperation(windowconstants.do_nothing_on_close); frame.addwindowlistener(new CloseButtonHandler()); private class CloseButtonHandler extends WindowAdapter { public void windowclosing(final WindowEvent e) { int answer = JOptionPane.showConfirmDialog (frame, "Do you really want to quit?", "Quit?", JOptionPane.YES_NO_OPTION); if (answer == JOptionPane.YES_OPTION) { System.exit(0); // Avsluta hela Java-processen
51 Mer om dialogrutor Standardiserade dialoger: JOptionPane Enkel fråga: String input = JOptionPane.showInputDialog("Please input a value"); 51 Kan ange ett fönster som äger dialogen Blockerar inmatning till fönstret JOptionPane.showMessageDialog(frame, "Eggs aren't supposed to be green."); Kan ge fler parametrar JOptionPane.showMessageDialog(frame, "Eggs are not supposed to be green.", "Inane warning", JOptionPane.WARNING_MESSAGE); Se
Grafiska 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 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 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 merGrafiska användargränssnitt i Java
jonas.kvarnstrom@liu.se 2015 Grafiska användargränssnitt i Java Terminologi 2 Komponenter: Fönster, knappar, menyer, färgväljare och andra grafiska element som syns på skärmen (components) Behållare: De
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 merGUI-programmering. Gustav Taxén Martin Berglund DH2640 Grafik och Interaktionsprogrammering VT 2008
GUI-programmering Gustav Taxén gustavt@csc.kth.se Martin Berglund mabe02@kth.se DH2640 Grafik och Interaktionsprogrammering VT 2008 WIMP Window Icon Menu Pointing device Modernt Gränssnitt Vad ingår i
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 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 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 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 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 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 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 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 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 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 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 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 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 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 merEfterhand fick vi ett system som vi tyckte var väl anpassat. Vi renskrev kladden (nedan) och började programmera menyerna.
Övning 3 - grupp 10 Övningen gick ut på att sortera givna funktionerna till ett ritprogram in i en meny. Den startsidan vi fick var blank och såg ut som nedan. I denna skulle vi skapa en meny med hjälp
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 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 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 merLösningar för tenta 3 DAT043,
Lösningar för tenta 3 DAT043, 2018-08-22. Uppgift 1 class Person{ public String förnamn; public String efternamn; public int ålder; private double längd; private double vikt; public Person(String förnamn,
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 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 mer725G61 - Laboration 8 Ett enkelt GUI. Sahand Sadjadee och Johan Falkenjack
725G61 - Laboration 8 Ett enkelt GUI Sahand Sadjadee och Johan Falkenjack December 20, 2013 1 Inledning I de tidigare labbarna har ni fått lära er grundläggande programmering och objektorientering samt
Läs merLaboration 24 Databasen MySQL och java
Laboration 24 Databasen MySQL och java Avsikten med denna laboration är att du ska hämta information ur en eller flera tabeller och visa resultatet i en JTable-komponent. Du ska ändra innehållet i tabellen
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 merLösningsförslag till tentamen
till tentamen 1 (5) Kurs Objektorienterad programmering Kursbeteckning DAT042 Program D2, TKDAT Läsår 2012/2013, lp 1 Examinator Uno Holmer Uppgift 1 (10 p) Ingen lösning ges. Se kurslitteraturen. Uppgift
Läs merTDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor
TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5 Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor 1 Laboration 4 - Introduktion Syfte: Öva på självständig problemlösning
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 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 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 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 merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 6 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 6 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Omega, Theta Selectionsort, Shellsort,
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 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 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 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 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 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 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 merTentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Teoretisk fysik HT 10 Tentamen FYTA11 Javaprogrammering Måndag 10:e januari 2011, 09:00 13:00 Instruktioner Hjälpmedel: enkla ritverktyg och Javadoc-genererade
Läs merArv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier
Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv
Läs merProperties. Användbara metoder som kan anropas i propertychanged:
Properties Ett objekt kan ha vissa egenskaper (som beskrivs med instansvariabler). En enkel egenskap X avläses och sätts med metoderna getx() och setx(värde). En indexerad egenskap (från t.ex. en array)
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 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 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 merDAT043 - föreläsning 8
DAT043 - föreläsning 8 Paket, generics, Java collections framework 2017-02-07 Paket och tillgänglighet Ovanför klasser finns en hierarkisk namespace med paket. Filer som inte deklareras i något paket finns
Läs merLösningsförslag till tentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Teoretisk Fysik HT 08 Lösningsförslag till tentamen FYTA11 Javaprogrammering Fredag 9:e januari 2009, 09:00 13:00 Uppgift 1: Leta buggar Titta på klasserna A,
Läs merPROGRAMMERINGSTEKNIK TIN212
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Robin Adams Göteborg 8 June 2018 PROGRAMMERINGSTEKNIK TIN212 Dag: Fredag Datum:
Läs merJava: Utvecklingsverktyg, datatyper, kontrollstrukturer
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se
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 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 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 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 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 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 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 merFöreläsning 15: Repetition DVGA02
Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras
Läs merFöreläsning 10. ADT:er och datastrukturer
Föreläsning 10 ADT:er och datastrukturer ADT:er och datastrukturer Dessa två begrepp är kopplade till varandra men de står för olika saker. En ADT (abstrakt datatyp) är just abstrakt och är inte kopplad
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 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 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 mer