Swing. MER Java Foundation Classes (JFC) Vad är farorna. Hur lära sig? Exempel på några av komponenterna. LayoutManagers.
|
|
- Erik Mattsson
- för 9 år sedan
- Visningar:
Transkript
1 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 på måndag) kommer vi ta en snabbgenomgång kring ett antal av klasserna och se på ett par av designmönstrena som används Hur lära sig? Principerna Model - view - controller Observer - observed Adapter Öva, dvs skriv kod Ofta och mycket Kolla på exempel Vad är farorna Personlig erfarenhet Dålig dokumentation i vissa fall Sätter sällan in saker i sitt sammanhang Logik på fel ställe Lätt att man placerar logiken på det ställe där det för stunden känns enklast istället för att tänka igenom var saker borde finnas Exempel på några av komponenterna LayoutManagers BorderLayout - Har vi tittat på FlowLayout - Har vi tittat på GridLayout CardLayout GridBagLayout BoxLayout etc
2 GridLayout GridLayout Demo public class GridDemo extends JFrame public GridDemo() this.setlayout(new GridLayout(3,2)); add(new JButton("Ett")); add(new JButton("Två")); add(new JButton("Tre")); add(new JButton("Fyra")); add(new JButton("Fem")); add(new JButton("Sex")); 128 public static void main(string[] args) GridDemo g=new GridDemo(); g.setvisible(true); 129 Card layout public class CardDemo extends JFrame private JPanel buttonpanel; private JPanel cardpanel; private CardLayout cl; public CardDemo() setlayout(new BorderLayout()); cl=new CardLayout(); cardpanel=new JPanel(cl); cardpanel.add("one",new JButton("Ett")); cardpanel.add("two",new JButton("Två")); cardpanel.add("three",new JButton("Tre")); buttonpanel=new JPanel(); JButton first=new JButton("First"); first.addactionlistener(new ActionListener() public void actionperformed(actionevent e) cl.first(cardpanel); ); buttonpanel.add(first);
3 Tabbed pane public class TabbedDemo extends JFrame public TabbedDemo( ) super( Tabbed Demo ); JTabbedPane tp = new JTabbedPane( ); setcontentpane( tp ); JPanel jp = new JPanel( ); jp.add( new JButton( Ett ) ); tp.addtab( One, jp ); jp = new JPanel( ); jp.add( new JButton( Två ) ); tp.addtab( Two, jp ); jp = new JPanel( ); jp.add( new JButton( Tre ) ); tp.addtab( Three, jp ); pack(); setvisible( true ); BoxLayout Med denna layoutmanager så kan man lägga ut komponenter i boxar. Boxarna kan vara antingen horisontella eller vertikala med en komponent per rad/kolumn. Alternativ till att använda BoxLayout direkt är att använda Box klassen som är en container som har använder BoxLayout och innehåller ett antal extra metoder för att tex lägga till mellanrum På bilden till höger används ett antal olika containrar med BoxLayout för att åstadkomma layouten GridBagLayout GridBagLayout was contributed to Javasoft by a programmer who wanted to support the Java effort. It was intended as a proof that the AWT offered enough features for programmers to write their own layout managers. It wasn't designed with human factors and ease of use in mind. If it bothers you (it bothers me) then just don't use it. Create your GUI on several panels and use the other layout managers as appropriate to get the exact effect you want. JavaSoft's AWT team project leader has said that eventually another layout manager will be added that does similar things to GBL, but is more intuitive. Bottom line: nobody has to waste any effort on GBL, there are better alternatives available. Peter van der Linden
4 Fler LayoutManagers Det finns ett flertal andra färdiga. Undersök de klasser som implementerar någon av interfacen LayoutManager eller LayoutManager2. Rätt sällan man behöver skriva egna. Layoutmanagers och designpatterns Layoutmanagers använder sig av ett designpatern som kallas för Strategy. Löser problemet att vi vill kunna ha möjlighet att byta ut algoritmer De flesta gränssnitt går att konstruera genom en kombination av de inbyggda Rita i Vyklasser Händelsestyrt - styr inte själv paint update paintcomponent repaint, repaint(x) Graphics drawstring drawline drawrect drawpolygon fillrect 144 fillpolygon setcolor setfont 145
5 public class DrawingPanel extends JPanel public DrawingPanel( ) setbackground( Color.white ); setborder( BorderFactory.createTitledBorder( "Exempel" ) ); public void paintcomponent( Graphics g ) super.paintcomponent( g ); g.drawstring( "Bluttan", 100, 60 ); Font cfont Font newfont = g.getfont(); = new Font( cfont.getname(), cfont.getstyle(), cfont.getsize() + 20 ); 146 g.setfont( newfont ); g.drawstring( "Blättan", 200, 80 ); g.drawline( 50, 50, 100, 200 ); g.setcolor( Color.blue ); g.drawroundrect( 150, 300, 100, 125, 15, 15 ); g.setcolor( Color.red ); g.filloval( 400, 200, 50, 180 ); 147 Java 2D Förbättrad grafik så att det blir lite snyggare Anti-aliasing Fyll med mönster, gradienter, etc Bättre typsnittshantering figurer, linjer, transformeringar public void paintcomponent( Graphics g ) super.paintcomponent( g ); Graphics2D g2 = (Graphics2D) g; g2.setrenderinghint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON ); g2.setstroke( new BasicStroke( 4.0f ) ); g2.drawstring( "Bluttan", 100, 60 ); Font cfont = g2.getfont(); Font newfont = new Font( cfont.getname(), cfont.getstyle(), cfont.getsize() + 20 ); g2.setfont( newfont ); g2.drawstring( "Blättan", 200, 80 ); Line2D line = new Line2D.Double( 50.0, 50.0, 100.0, ); g2.draw( line ); g2.setpaint( Color.blue ); RoundRectangle2D rect = new RoundRectangle2D.Double( 150.0, 300.0, 100.0, 125.0, 15.0, 15.0 ); g2.draw( rect ); 150 g2.setpaint( Color.red ); Ellipse2D oval = new Ellipse2D.Double( 400.0, 200.0, 50.0, ); g2.fill( oval ); 151
6 Fler prylar JOptionPane JLabel Flera knappar ImageIcon Menyer, toolbars, etc Adaptor klasser JScrollPane JSlider, JSpinner Listor, popupmenyer och träd JOptionPane Enkelt att göra olika meddelandedialoger Finns färdiga Kan modifiera och göra egna JOptionPane.showMessageDialog( null, "Kolla", "Vad kul", JOptionPane.ERROR_MESSAGE ); JLabel x = JOptionPane.showConfirmDialog( null, "Hello world") ; s = JOptionPane.showInputDialog( null, "Skriv nåt" ); Enkel text Eller en bild Eller båda JOptionPane.showMessageDialog( null, "Du skrev: " + s, "Meddelande", JOptionPane.INFORMATION_MESSAGE ); private JLabel statusline = new JLabel( ); Knappar Push buttons Check buttons Radio buttons statusline.settext( "Användare: " + username + " Lösenord: " + password ); Grupper av radio buttons
7 JRadioButton catbutton = new JRadioButton(catString); catbutton.setmnemonic(keyevent.vk_c); catbutton.setactioncommand(catstring); ButtonGroup group = new ButtonGroup(); group.add(birdbutton); group.add(catbutton); group.add(dogbutton); group.add(rabbitbutton); group.add(pigbutton); ImageIcon Enkelt sätt att få symboler på olika ställen Klarar JPEG, GIF och PNG bilder Inte en egen komponent, men ett antal andra komponenter kan visa upp ImageIcons (tex JLabel, Menyer etc) catbutton.addactionlistener(this); public void actionperformed(actionevent e) picture.seticon(createimageicon("images/" + e.getactioncommand() + ".gif")); Menyer Menyrad Menyer Menyval JMenuBar menubar = new JMenuBar( ); setjmenubar( menubar ); JMenu file = new JMenu( "Arkiv" ); JMenu edit = new JMenu( "Redigera" ); menubar.add( file ); menubar.add( edit ); JMenuItem fileclose = new JMenuItem( "Stäng" ); 160 fileclose.addactionlistener( new ActionListener() public void actionperformed( ActionEvent ae ) // Stäng fönstret AddressBook.this.dispose(); ); file.add( fileclose ); 161 class OpenAction extends AbstractAction OpenAction( String name ) super( name, new ImageIcon( "bilder/middle.gif" ) ); Toolsbars Ligger längst upp public void actionperformed( ActionEvent ae ) statusline.settext( "Inte öppnas nåt nu inte!!" ); Flyter omkring file.add( new OpenAction( "Öppna" ) );
8 JToolBar tb = new JToolBar( ); tb.add( new HiAction() ); tb.add( new PlainAction( ) ); class PlainAction extends AbstractAction PlainAction( ) super( "plain", new ImageIcon( "bilder/rabbit.png" ) ); public void actionperformed( ActionEvent ae ) statusline.settext( "Jag vill ha en morot" ); Popup-menyer JPopupMenu För att visa dessa för en komponent så sätt en MouseListener på componenten och identifiera om mustryckningen är en något som ska visa upp menyn via metoden ispopuptrigger i MouseEvent JComboBox String[] petstrings = "Bird", "Cat", "Dog", "Rabbit", "Pig" ; JComboBox petlist = new JComboBox(petStrings); petlist.setselectedindex(4); petlist.addactionlistener(this); public void actionperformed(actionevent e) JComboBox cb = (JComboBox)e.getSource(); String petname = (String)cb.getSelectedItem(); updatelabel(petname); JComboBox patternlist = new JComboBox(patternExamples); patternlist.seteditable(true); patternlist.addactionlistener(this); Listor JList jl = new JList( new Object[] "Första", new Person( "Kalle", "Anka" ), "Tredje", "Fjärde", "Femte", "Etthundratusen kronor", new Person( "Knatte", "Anka" ), new Person( "Fnatte", "Anka" ), new Person( "Tjatte", "Anka" ), new Person( "Kajsa", "Anka" ), );
9 JScrollPane Implementerar själva scrollningen JScrollPane sp = new JScrollPane( jl ); add( sp ); Träd DefaultMutableTreeNode root = new DefaultMutableTreeNode( "Ankeborg" ); JTree tree = new JTree( root ); JScrollPane sp = new JScrollPane( tree ); DefaultMutableTreeNode duck = new DefaultMutableTreeNode( "Anka" ); duck.add( new DefaultMutableTreeNode( "Kalle" ) ); duck.add( new DefaultMutableTreeNode( "Knatte" ) ); duck.add( new DefaultMutableTreeNode( "Tjatte" ) ); duck.add( new DefaultMutableTreeNode( "Fnatte" ) ); duck.add( new DefaultMutableTreeNode( "Kajsa" ) ); duck.add( new DefaultMutableTreeNode( "Arne" ) ); duck.add( new DefaultMutableTreeNode( "Sven" ) ); duck.add( new DefaultMutableTreeNode( "Bettan" ) ); duck.add( new DefaultMutableTreeNode( "Sonja" ) ); root.add( duck ); DefaultMutableTreeNode vonduck = new DefaultMutableTreeNode( "von Anka" ); vonduck.add( new DefaultMutableTreeNode( "Joakim" ) ); root.add( vonduck ); JTable och dess model-objekt Klasser för modeller - Exempel på designmönstret adapter TabelModel Interface som kan implementeras för att tillhandahålla data till en JTable AbstractTabelModel Abstrakt klass som innehåller det som behövs för att innehållet ska visas i en JTable-vy. Implementerar TableModel DefaultTabelModel Subklass till AbstractTableModel som använder en Vector av Vector av Object för att lagra värdena. Går också att använda om man har en 2-dim array av värden. Designmöntret - Adapter Konverterar klassens gränssnitt. Låter klasser fungera tillsammans trots att deras gränssnitt inte matchar Motsvarande model-klasser finns även för en del av de andra vy-klasserna som JList och JTree Client Target request() Adaptor request() adaptee Adaptee specificrequest() adaptee.specificrequest()
Swing. 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
Swing. 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,
Swing. 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
Swing. 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
MER Java Foundation Classes (JFC)
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 Hur lära sig? Principerna
Fö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
Fö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
Java-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
ITK: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
Grundlä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
TDDE10 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
2I1049 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
Mer 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.
Denna 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
Programmeringsteknik 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
Malmö 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
Grafiska 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.
LiTHehack? 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
Objektorienterad 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
Grafiska 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
Projekt 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
Malmö 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
Fö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
27. 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
Objektorienterad 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
Fö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
Fö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
OOP 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)
Objektorienterad 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
Fö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
OOP 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)
Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?
Programmeringsteknik och Matlab Övning 6 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Objektorienterad 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
Repetitionsföreläsning 2: Quiz & problemlösning med swing Inget nytt material.
TDA 545: Objektorienterad programmering Repetitionsföreläsning 2: Quiz & problemlösning med swing Inget nytt material. Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag En quiz! tinyurl.com/tda545quiz
ITK: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ösningar till tentamen i EDAF25
Lösningar till tentamen i EDAF25 1 juni 2017 Lösning 1 Se figur 1. Figure 1: Tillståndsdiagram espressomaskin Lösning 2 (a) Kompositmönstret (b) Se figur 2 (c) Se figur 3 : Square : Drawing : Group : Circle
Arv 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,
1 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
DI-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:
Detta 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:
TDDC30. 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ö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
SMD091 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
Design och konstruktion av grafiska gränssnitt
Design och konstruktion av grafiska gränssnitt Olof Torgersson Interaktionsdesign Data- och informationsteknik Chalmers/GU 1! Idag! Swings GUI-komponenter! Om användare Upplägg! Föreläsningar! Obligatoriska
Laboration 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
Rita 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.
Lab5 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
Lektion 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
Fö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
Design och konstruktion av grafiska gränssnitt
Design och konstruktion av grafiska gränssnitt Olof Torgersson Interaktionsdesign Tillämpad informationsteknologi Chalmers/GU Kort GUI-historia Swings komponenter Idag Lab 1 glöm inte att lämna in i PingPong
Modelsvar 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,
Frivillig 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ösningar till tentamen i EDAF25
Lösningar till tentamen i EDAF25 21 aug 2017 Lösning 1 Javaklasser (många varianter finns naturligtvis): class Client { private Invoker invoker; public void newcommand(string cmdtext) { Command cmd; if
Labbinstruktioner 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
TDDC30 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ö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:
TDDC30 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
Efterhand 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
Två 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
Java Direkt, upplaga 5 Innehåll
Java Direkt, upplaga 5 Innehåll Förord 1 1 Att komma igång 5 1.1 Vad är Java? 5 1.2 Var hittar man information om Java? 8 1.3 Traditionell kompilering, länkning och exekvering 8 1.4 Kompilering och exekvering
Tentamen 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
ITK:P1 Föreläsning 8. Verktyget Javadoc. Kommentarer för Javadoc. Multimedia för spelkonstruktion
ITK:P1 Föreläsning 8 Multimedia för spelkonstruktion 1 DSV Peter Mozelius Verktyget Javadoc De flesta program behöver dokumentation I Java finns ett verktyg som genererar HTML- dokumentation på ett enkelt
Fö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
Fortsä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
Upplägg. Introduktion. Examination. Mål. Konsekvenser. Java. Kursen heter konstruktion, ej design eller formgivning.
Introduktion Upplägg Kursen heter konstruktion, ej design eller formgivning. det handlar främst om att lära sig att bygga gränssnitt som är sunda den är praktiskt orienterad; vetenskapliga teorier finns,
2I1073 Lektion 2. Lektion 2a. Lektion 2a. Servlets, säkerhet, och filhantering. import java.io.*; import javax.servlet.*; import javax.servlet.http.
2I1073 Lektion 2 Servlets, säkerhet, och filhantering KTH-MI Peter Mozelius import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Lektion2a extends HttpServlet { public void
MVC-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
Objektorienterad 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.
Frames, 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
Arvshierarki. 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
The Last Adventure. Innehåll. Objektorientering. Språket Java. Java - Paket. Java - synlighet. Den sista lektionen. Repetition.
Innehåll The Last Adventure Den sista lektionen Repetition Examination Slutar 14:45 (minnesstund) Många saker "flashar" förbi - hojta Objektorientering Språket Java Class Object Inheritance Polymorphism
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,
Design och konstruktion av grafiska gränssnitt
Design och konstruktion av grafiska gränssnitt Olof Torgersson Interaktionsdesign Tillämpad informationsteknologi Chalmers/GU 1 Idag Läsanvisningar Finns på kurshemsidan under resurser Kommer att förklaras
Design och konstruktion av grafiska gränssnitt
Design och konstruktion av grafiska gränssnitt Olof Torgersson Interaktionsdesign Tillämpad informationsteknologi Chalmers/GU Litekursinfo Kort GUI-historia Swings komponenter Idag Tidwell Designing Interfaces
Lycka till! TENTAMEN: Objektorienterade applikationer. Läs detta! 1 (6) Tentamen
1 (6) TENTAMEN: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv din tentamenskod på varje blad (så att
Laboration 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
Modelsvar 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,
TDDC30 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
Arv, 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
TDDC30. 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,
Objektorienterad 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
Kort 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å
Fö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
Laboration 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
Laboration 2 RSS Läsare
dit06omr@cs.umu.se 1 december 2008 Laboration 2 RSS Läsare Kurs: Applikationsprogrammering i Java, HT-08 HT08 5DV085 Kursansvarig: Övriga lärare & handledare: Johan Eliasson Johan Granberg Tor Sterner-Johansson
TENTAMEN. Kurs: Applikationsutveckling i Java 5DV135. Ansvarig lärare: Johan Eliasson. HT12 Datum: Tid: kl
UMEÅ UNIVERSITET Institutionen för Datavetenskap 13-04-04 TENTAMEN Kurs: Applikationsutveckling i Java 5DV135 Ansvarig lärare: Johan Eliasson HT12 Datum: 13-04-04 Tid: kl 9.00-13.00 Namn: Personnummer:
Arv. Grafiska komponenter. Arv. Arvhierarki. Arv. Föreläsning 12 (OH-bilder 9)
är en grundläggande objektorienterad teknik för att organisera och återanvända klasser. TDA143 I1 Programmerade system Föreläsning 12 (OH-bilder 9) Grafiska komponenter Christer Carlsson Med arv kan man
Java Direkt, upplaga 6 Innehåll
Java Direkt, upplaga 6 Innehåll Förord 1 1 Att komma igång 5 1.1 Vad är Java? 5 1.2 Var hittar man information om Java? 8 1.3 Traditionell kompilering, länkning och exekvering 8 1.4 Kompilering och exekvering
Objektorienterad programutveckling, fk
till tentamen P r e l i m i n ä r 1 (7) Kurs Objektorienterad programutveckling, fk Program DAI2 Läsår 2017/2018, lp 2 Examinator Uno Holmer Uppgift 1 (7 p) Abstrahera ut aktiviteten i ett gränssnitt Trainee
lgammal2.txt // Lösningar till gammal tentamen // Uppgift 1 a
// Lösningar till gammal tentamen // Uppgift 1 a /* Felet beror på att det är klassen på referensen som avgör vilka metoder man får köra på ett objekt, inte klassen på objektet. På rad 5 i klassen C har
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 2 (20p + 20p = 40 p) ) Lärare, jourhavande lärare :
Fö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
Java Direkt, upplaga 7 Innehåll
Java Direkt, upplaga 7 Innehåll Förord 1 1 Att komma igång 5 1.1 Vad är Java? 5 1.2 Var hittar man information om Java? 7 1.3 Traditionell kompilering, länkning och exekvering 8 1.4 Kompilering och exekvering
Föreläsning 9. Arv Grafiska komponenter
Föreläsning 9 Arv Grafiska komponenter 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
DUGGA: 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.
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina
PROG2 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ösningsförslag till tentamen
Uppgift 1 a) Sant. b) Sant. c) Sant. Lösningsförslag till tentamen 170818 d) Falskt. IPv6 anger en IP-adress med 132 bitar. e) Falskt. Spoofing åsyftar användning av förfalskad eller lånad identitet på