Grafiska användargränssnitt i Java

Storlek: px
Starta visningen från sidan:

Download "Grafiska användargränssnitt i Java"

Transkript

1 Grafiska användargränssnitt i Java

2 Terminologi 2 Komponenter: Fönster, knappar, menyer, färgväljare och andra grafiska element som syns på skärmen (components) Behållare: De komponenter som innehåller andra komponenter till exempel fönster (containers) SwingSet3: finns på nätet

3 Java Foundation Classes Java Foundation Classes (JFC) 3 AWT: Abstract Window Toolkit Swing Java 2D Koppling till OS Layout Händelsehantering Enkla komponenter Uppdaterade och mer avancerade GUIkomponenter 2D-grafik (linjer, rektanglar, kurvor, färger, mönster, ) Komponenter: Frame, Button, List, TextField, Använd inte föråldrade! Komponenter: JFrame, JButton, JList, JTextField, Använd dessa!

4 Steg 1 (idag): Att använda färdiga komponenter: Knappar, menyer, Layout Händelsehantering någon tryckte en knapp" Steg 2 (nästa gång): Att rita på skärmen Att skapa egna komponenter

5

6 Genomgående exempel Mål: En väldigt enkel ordbehandlare (texteditor) 6

7

8 Att öppna ett fönster 8 Ett vanligt fönster: JFrame public class WordProcessor { private JFrame frame; public WordProcessor() { this.frame = new JFrame("Word Processor 1.0"); frame.setsize(640, 300); frame.setvisible(true); public static void main(string[] args) { new WordProcessor(); Ta reda på skärmens storlek: frame.gettoolkit().getscreensize() uiswing/components/frame.html Ordbehandlaren behöver komma ihåg sitt fönster Sätt fönsterstorleken, se till att fönstret visas på skärmen Skapa ett objekt, glöm bort det, och sedan är vi klara? Så länge det finns ett öppet fönster, avslutas inte Java! Vi kan fortfarande använda fönstret genom GUI-händelser (events)

9

10 Behållare 1: JFrame 10 En JFrame är en behållare (container) uiswing/components/frame.html Komponent som kan innehålla andra komponenter Kan även innehålla andra behållare Fönstertitel Menyrad Kan läggas till vid behov Innehåll: Content pane Hela fönstrets innehåll. utom titelrad / menyrad

11 Behållare 2: Innehållshierarki Skapar en hierarki av innehåll Varje behållare har en lista med barn 11 Fönster Menyrad ContentPane Meny: File Meny: Edit Meny: Help Knapp1 Knapp2 Textfält Statusrad Val1 Val2 Val3 Har inget att göra med arvshierarkin!

12 Knappar i Java 12 uiswing/components/button.html uiswing/components/buttongroup.html Stödklasser Grunden för Swing-komponenter Gemensam implementation: Knappar Har två lägen, av/på Radioknappar: Bara en aktiv åt gången i varje ButtonGroup Standardknapp Checkbox, av/på

13 Textkomponenter 13 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

14 Ordbehandlare med komponenter 14 För att lägga till komponenter: public WordProcessor() { this.frame = new JFrame("Word Processor 1.0"); uiswing/components/label.html 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")); Lägger till flera komponenter till behållaren fönstret Inget syns på skärmen än! frame.add(new JTextPane()); frame.add(new JLabel("Status: OK")); // Visar text, kan inte editeras frame.pack(); frame.setvisible(true); NU är det dags att visa fönstret och dess innehåll

15 Resultat 15 Resultat: Rätt komponenter Fel layout Liten textarea JFrame Content Pane JButton JButton JButton JButton JButton JTe xtp ane JLabel

16

17 Önskad layout Önskad layout (positioner och storlek): 17 JButton JButton JButton JButton JTextPane JButton JFrame Content Pane JLabel

18 Layout 1: Absoluta koordinater? 18 Hur ska behållarens komponenter få rätt position och storlek? Enklast: Absoluta koordinater component.setsize(int width, int height); component.setlocation(int x, int y); // Relativt behållarens övre vänstra hörn Fördelar / nackdelar: (+) Enkelt att förstå (+) Enkelt att skriva GUI-designer ( ) Inget stöd för att ändra storlek (Gammaldags Windows-dialoger har alltid en fast storlek ) ( ) Hur hanterar man större text? ( ) Hur hanterar man översättningar till andra språk, där ord kan ta mer plats?

19 Layout 2: Önskad storlek 19 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

20 Layout 3: Innehållshierarkin 20 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

21 Layout 4: Annan storlek än önskad 21 När en komponent får större 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:

22 Layout 5: Annan storlek än önskad 22 När en komponent får mindre storlek än den begärda: Layouthanteraren har regler för hur komponenter placeras, (krymps) Just nu:

23 Layouthanterare 1: Inbyggda Flera enkla layouthanterare är inbyggda 23 Save changes before exiting? Yes No Cancel Hur kan man skapa en mer komplex layout med dessa?

24 Layouthanterare 2: Hierarkisk layout 24 Använd hierarkin! Lägg till en panel så att alla knappar är i en egen grupp JPanel JMenu JButton JButton JButton JButton JTextPane JMenu JMenu JFrame JMenuBar Content Pane JButton JPanel JLabel Fönster Menyrad ContentPane Meny1 Meny2 Panel Textfält Statusrad Val1 Val2 Val3 Knapp1 Knapp2

25 Layouthanterare 3: MigLayout MigLayout rekommenderas starkt! Baseras på flexibelt rutnät, modern, extremt flexibel this.setlayout(new MigLayout()); this.add(firstnamelabel); this.add(firstnametextfield); this.add(lastnamelabel, this.add(lastnametextfield, this.add(addresslabel); this.add(addresstextfield, "gap unrelated"); "wrap"); "span 3, grow"); Layoutparametrar för varje komponent 25 Default: Använder preferred size; fortsätter på samma rad; lägger till ett mellanrum som passar relaterade komponenter Mellanrum för två orelaterade komponenter Ny rad efter den här komponentent Spänn över 3 kolumner, låt textfältet växa större än sin önskade storlek

26 Ordbehandlaren 1: Ett skelett Kodskelett: public class WordProcessor { private JTextPane text; // References to some components private JLabel status; // that we will have to access at various times private JFrame frame; 26 public WordProcessor() { this.frame = new JFrame("Word Processor 1.0"); creategui(); // Adds components to the frame createmenus(); // Adds menus frame.pack(); // Adapt window size frame.setvisible(true); // Show the window! public static void main(string[] args) { new WordProcessor();

27 Ordbehandlaren 2: Skapa knappar Knappar ligger i sin egen panel Inte ett krav med MigLayout! Men låter oss ta bort och lägga till knappar utan att påverka resten: Huvudfönstrets layouthanterare ser alltid en panel private JPanel createbuttonpanel() { final JPanel buttons = new JPanel(); buttons.setlayout(new MigLayout()); 27 buttons.add(new JButton("B")); buttons.add(new JButton("I")); buttons.add(new JButton("U")); buttons.add(new JButton("Left"), gapleft 10pt ); buttons.add(new JButton("Center")); buttons.add(new JButton("Right")); buttons.add(new JButton("Print"), gapleft 10pt ); return buttons; Separation 10 punkters marginal till vänster om komponenten

28 Ordbehandlaren 3: Sätta layouthanterare 28 private void creategui() { frame.setlayout(new MigLayout(, [grow,fill], []0[grow,fill]0[] )); Layoutparametrar Inget här Kolumnparametrar Varje kolumn anges i [] Kolumnen kan växa (grow), och ska alltid fylla (fill) tillgängligt utrymme Vårt mål Radparametrar Första raden: [] (default) Mellanrum: 0 pixel Andra raden: Grow, fill Mellanrum: 0 pixel Tredje raden: [] (default)

29 Ordbehandlaren 4: Ramar 29 Alla komponenter kan ha en ram, som implementerar gränssnittet Border. Använd BorderFactory för vanliga ramtyper. private void creategui() { frame.setlayout(new MigLayout( )); this.text = new JTextPane(); this.status = new JLabel("Status: OK"); text.setborder(borderfactory.createemptyborder(4,4,4,4)); EmptyBorder = tomt utrymme (marginaler) status.setborder(borderfactory.createcompoundborder( BorderFactory.createEtchedBorder(), BorderFactory.createEmptyBorder(2,2,2,2) )); CompoundBorder sätter ihop ramar: Ytterst en etsad ram Innerst en marginal uiswing/components/border.html

30 Ordbehandlaren 5: Scrollning 30 Textfältet måste kunna scrollas I vissa system: "Inbyggt" i textfältet I Java: Lägg komponenten i en JScrollPane Samma hantering av scrollning för alla komponenter private void creategui() { frame.add(createbuttonpanel(), wrap ); frame.add(new JScrollPane(text), wrap ); frame.add(status, wrap ); uiswing/components/scrollpane.html Fönster Menyrad ContentPane Meny1 Meny2 Panel JScrollPane Statusrad Val1 Val2 Val3 Knapp1 Knapp2 Textfält

31

32 Att skapa menyer 32 private void createmenus() { 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")); final JMenu edit = new JMenu("Edit"); edit.add(new JMenuItem("Cut")); edit.add(new JMenuItem("Copy")); edit.add(new JMenuItem("Paste")); // Tangentbordsstyrning // Separator final JMenu help = new JMenu("Help"); help.add(new JMenuItem("About WordProcessor 1.0")); final JMenuBar bar = new JMenuBar(); bar.add(file); bar.add(edit); 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

33

34 TDDC : Allt på engelska Använd tid för kursutveckling på bästa sätt TDDD : Inledande fö. på svenska Nästan helt omskrivet, många fundamentala begrepp TDDD : Resten på engelska Många justeringar, huvudstrukturen behålls

35 Event Handling Principles How do we know if a button was pushed? TDDD73: Wait for a click Must know when to check Must handle everything ourselves coordinates, 35

36 Event Handling Principles (2) 36 In some GUI systems: Tell the system what it should do when the button is clicked Go on with your own task When the button is pushed, another thread handles this asynchronously (Almost) as if: You tell someone else: "If the button is pressed, do this" You keep doing whatever you want to do next Your assistant starts looking for input Sees a button was pressed, does what you asked

37 Event Handling Principles (3) 37 How to represent what happens and what to do about it? As event objects [händelseobjekt] // Standard Java class public class MouseEvent extends InputEvent { int x; // Coordinates int y; int clickcount; // How many times did they click? int button; // With which mouse button? Button clicked Our "assistant" creates a new MouseEvent

38 Event Handling Principles (4) 38 How to represent what happens and what to do about it? Could we tell the component which function to call? // Would work in some languages function printmessage() { print "Hey! Someone clicked me!" button.whenclicked(printmessage); Java is object-oriented, has no functions outside classes Java 8 has new magic syntax that lets us do something similar To see what really happens, and to link this to interesting design patterns, we will avoid this syntax for now!

39 Event Handling Principles (5) 39 How to represent what happens and what to do about it? We'll give the button an object whose methods it can call! // Standard Java interface public interface MouseListener extends EventListener { public void mouseclicked(mouseevent e); public void mousepressed(mouseevent e); Java is manifestly typed, must define a type for the object // Our own class public class MyListener implements MouseListener { public void mouseclicked(mouseevent e) { System.out.println("Hey! Someone clicked me!"); We create a class implementing MouseListener We give our "assistant" a MyListener object whose methods it can call when something happens

40 Event Handling Principles (6) Every component has a list of Listeners // (This is a simplification ) public class Component { private List<MouseListener> mouselisteners; public void addmouselistener(mouselistener ml) { mouselisteners.add(ml); We can add our own listener to the list // Our own class public class MyGUI { public void creategui() { MouseListener ml = new MyListener(); thebutton.addmouselistener(ml); 40

41 Events 1: Introduction When a mouse button has been pressed: AWT receives raw keyboard/mouse input from the OS In a background event dispatch thread (your "assistant") Generates low-level event objects: MouseEvent, KeyEvent 41 public class MouseEvent extends InputEvent { int x; // Coordinates int y; int clickcount; // How many times did they click? int button; // With which mouse button?

42 Events 2: Introduction When a button has been pressed: 42 AWT receives raw keyboard/mouse input from the OS In a background event dispatch thread (your "assistant") Generates low-level event objects: MouseEvent, KeyEvent Asks the relevant component to process the event Mouse click sent to component that was clicked // AWT finds out which component is responsible MouseEvent event = ; Component comp = findoutwhowasclicked(); // AWT asks the component to take care of the event comp.processevent(event);

43 Events 3: Introduction When a button has been pressed: 43 Asks the relevant component to process the event Mouse click sent to component that was clicked Event processing notifies (calls a method in) every listener Including our registered MyListener public class Component { protected void processmouseevent(mouseevent event) { for (MouseListener listener: MouseListeners) { if (event.getid() == MouseEvent.MOUSE_PRESSED) listener.mousepressed(e); One event at a time! If your listener takes a long time, the UI will freeze. If so, let the listener start a thread!

44 Events 4: Design Pattern Uses a design pattern called Observer! Components are observable, can tell others when something happens Listeners are observers, observing specific event types 44

45 WP Events 1: Top-Level Class 45 How are listeners used? public class WordProcessor { private JTextPane text; public JPanel createbuttonpanel() { final JPanel buttons = new JPanel(); final JButton bold = new JButton("B"); buttons.setlayout( ); buttons.add(bold); bold.addactionlistener(new BoldListener(text)); public class BoldListener implements ActionListener { private final JTextPane pane; public BoldListener(JTextPane pane) {this.pane = pane; public void actionperformed(actionevent event) { // Make the selected text bold Called by the event system in the event dispatch thread when Bold is pressed Create local variables for the buttons, so you can refer to them later! A lot of trivial code around the real work

46 WP Events 2: Inner Class 46 Alternative: Inner Class public class WordProcessor { private JTextPane text; public JPanel createbuttonpanel() { final JPanel buttons = new JPanel(); final JButton bold = new JButton("B"); buttons.setlayout( ); buttons.add(bold); class BoldListener implements ActionListener { public void actionperformed(actionevent event) { foo(text.gettext()); // Make the text bold bold.addactionlistener(new BoldListener()); Define a class inside another even inside a method! Gives access to fields of the enclosing class, final local variables of the method We still need a name

47 WP Events 3: Anonymous 47 Alternative: Anonymous Inner Class public class WordProcessor { private JTextPane text; public JPanel createbuttonpanel() { final JPanel buttons = new JPanel(); final JButton bold = new JButton("B"); buttons.setlayout( ); buttons.add(bold); ActionListener al = new ActionListener() { public void actionperformed(actionevent event) { foo(text.gettext()); // Make the text bold ; bold.addactionlistener(al); Special syntactic sugar! 1) Declares an unnamed class implementing ActionListener 2) Gives it an implementation for actionperformed() 3) Creates a new object of this unnamed class

48 WP Events 4: One Listener per Button 48 First alternative: One listener per button bold.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { System.out.println("Bold"); ); italics.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { System.out.println("Italics"); ); //... and so on... You know where the event came from the bold button A little bit of overhead from defining many classes

49 WP Events 5: A Shared Listener Class 49 Second alternative: A combined listener class final ActionListener al = new ActionListener() { public void actionperformed(actionevent e) { if (e.getsource() == bold) { System.out.println("Bold"); else if (e.getsource() == italics) { System.out.println("Italics"); ; bold.addactionlistener(al); italics.addactionlistener(al); //... and so on... Since many components share listeners, you must check the source of each event return buttons;

50 Actions 50 Alternative for actions that can be triggered from many places: Use Action (interface) and AbstractAction (helper class)! Action boldaction = new AbstractAction("Action Name") { // Instance initializer to set some (optional) values { putvalue(short_description, "Tool Tip Text"); ; putvalue(small_icon, new ImageIcon("icon.gif")); putvalue(mnemonic_key, new Integer(KeyEvent.VK_A)); //underlined putvalue(accelerator_key, KeyStroke.getKeyStroke("control F2")); public void actionperformed(actionevent evt) { // Perform action Many components can be constructed from an action object panel.add(new JButton(boldAction)); editmenu.add(boldaction); toolbar.add(boldaction); uiswing/misc/action.html

51 Menu Events Event handling for menus: No difference in principle final JMenuItem open = new JMenuItem("Open"); filemenu.add(open); open.addactionlistener( ); 51

52 Event Listener Overview 52 Some of the most important listeners: ActionListener Button pushed, menu item selected, AdjustmentListener ItemListener MouseListener MouseMotionListener KeyListener Slider or scroll bar adjusted Items selected in list Mouse button pushed/released, Mouse pointer moved Key pressed, typed, released Sent to the component that has keyboard focus If not processed, passed on to its container, etc. To react directly to keyboard input, see:

53 A simpler replacement for key listeners

54 Key Bindings: The Concept KeyStroke: A combination of keys (X, Ctrl-Shift-Z, ) 54 Each component's InputMap maps keystrokes to action names The name of an action (a String) A component's ActionMap maps keystrokes to action names Action: Contains code to be performed when the keys are pressed

55 Key Bindings: ActionMap 55 Alternative to KeyListener: Key Bindings class MyGameComponent extends JComponent { class MoveLeftAction extends AbstractAction { public void actionperformed(actionevent e) { do something private void addbindings() { Action movetotheleft = new MoveLeftAction(); getactionmap().put( moveleft, movetotheleft); Define a class implementing Action (in one of many ways ) Create an Action object (can be used in menus or other places as well) Define which Action is called for the action name moveleft

56 Key Bindings: InputMap 56 Alternative to KeyListener: Key Bindings class MyGameComponent extends JComponent { Works if keyboard focus private void addbindings1() { is in THIS component InputMap map1 = getinputmap(jcomponent.when_focused); map1.put(keystroke.getkeystroke( LEFT ), moveleft ); Check the KeyStroke Javadoc for examples An action name

57 Key Bindings: InputMap 57 Alternative to KeyListener: Key Bindings class MyGameComponent extends JComponent { private void addbindings2() { Works if keyboard focus InputMap map2 = getinputmap( is here or in a subcomponent JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); map2.put(keystroke.getkeystroke( released RIGHT, stopright )); Works if keyboard focus InputMap map3 = getinputmap( is in the same window JComponent.WHEN_IN_FOCUSED_WINDOW); map3.put(keystroke.getkeystroke( Ctrl F2, quit )); Fönster Menyrad ContentPane Meny1 Meny2 Panel JScrollPane Statusrad Val1 Val2 Val3 Knapp1 Knapp2 Textfält

58

59 JOptionPane Standard dialog windows: JOptionPane 59 Simple question: String input = JOptionPane.showInputDialog("Please input a value"); Can specify a frame that owns the dialog Blocks input to this frame JOptionPane.showMessageDialog(frame, "Eggs are not supposed to be green."); Can give additional options JOptionPane.showMessageDialog(frame, "Eggs are not supposed to be green.", "Inane warning", JOptionPane.WARNING_MESSAGE);

60 JOptionPane (2) Complex dialog windows // Custom button text Object[] options = { "Yes, please", "No, thanks", "No eggs, no ham!" ; int optionchosen = JOptionPane.showOptionDialog( frameparent, // A window that owns the dialog "Would you like some green eggs to go with that ham?", "A Silly Question", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, // Custom text options[2] // Default choice ) 60

61 File and Color Dialogs 61 Additional dialog windows: File dialogs Color selection dialogs

62

63 Closing Windows 1 To close a window: Call frame.dispose(). Frees all associated resources 63 To configure what the close button does: Use myframe.setdefaultcloseoperation(x), where x is WindowConstants.HIDE_ON_CLOSE (default, hides but does not dispose) WindowConstants.DO_NOTHING_ON_CLOSE WindowConstants.DISPOSE_ON_CLOSE WindowConstants.EXIT_ON_CLOSE

64 WindowListener To add an "are you sure?" dialog: Use DO_NOTHING_ON_CLOSE Add a WindowListener 64 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); Called when the close button is pressed

65 WindowAdapter Don't want to implement every method? Extend WindowAdapter 65 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) { Empty implementations of all methods

66 Adding a Dialog Adding an appropriate listener: 66 public class GUIcreator { private class CloseButtonHandler extends WindowAdapter { public void windowclosing(final WindowEvent e) { int answer = JOptionPane.showConfirmDialog (f, "Do you really want to quit?", "Quit?", JOptionPane.YES_NO_OPTION); if (answer == JOptionPane.YES_OPTION) { System.exit(0); public static void addcloselistener(final Frame f) { f.setdefaultcloseoperation(windowconstants.do_nothing_on_close); f.addwindowlistener(new CloseButtonHandler());

67 Alternative Solution An alternative solution (inner class): 67 public class GUIcreator { public static void addcloselistener(final Frame f) { f.setdefaultcloseoperation(windowconstants.do_nothing_on_close); f.addwindowlistener(new java.awt.event.windowadapter() { public void windowclosing(final WindowEvent e) { int answer = JOptionPane.showConfirmDialog (f, "Do you really want to quit?", "Quit?", JOptionPane.YES_NO_OPTION); if (answer == JOptionPane.YES_OPTION) { System.exit(0); );

68

69 Debugging a GUI Program You can view the component hierarchy Select a frame (window) and press Ctrl-Shift-F1 69 The component hierarchy is dumped to standard error app.testframe[frame0,0,0,640x480,layout=java.awt.borderlayout,resizable,title=,defaul tcloseoperation=hide_on_close,rootpane=javax.swing.jrootpane[,4,25,632x451,lay out=javax.swing.jrootpane$rootlayout,alignmentx=null,alignmenty=null,border=,flag s=3666,maximumsize=,minimumsize=,preferredsize=],rootpanecheckingenabled=true] javax.swing.jrootpane[,4,25,632x451,layout=javax.swing.jrootpane$rootlayout,ali gnmentx=null,alignmenty=null,border=,flags=3666,maximumsize=,minimumsize=,p referredsize=] javax.swing.jpanel[null.contentpane,0,0,632x451,layout=javax.swing.jrootpane $1,alignmentX=null,alignmentY=null,border=,flags=34,maximumSize=,minimu msize=,preferredsize=,defaultlayout=java.awt.flowlayout[hgap=5,vgap=5,align =center]] app.testframe$datecomponent[,0,0,632x451,alignmentx=null,alignmenty= null,border=,flags=0,maximumsize=,minimumsize=,preferredsize=]

70 Pluggable Look and Feel Swing: Can replace the look and feel dynamically Nimbus (current Java standard) 70 Metal (earlier Java standard) Windows classic uiswing/lookandfeel/

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java jonas.kvarnstrom@liu.se 2016 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 mer

Grafiska användargränssnitt i Java

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 mer

Grafiska användargränssnitt i Java

Grafiska 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 mer

Grafiska användargränssnitt i Java

Grafiska 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 mer

Java-concept och Swing. Swing low, sweet chariot

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

Läs mer

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se

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

Läs mer

Swing. MER Java Foundation Classes (JFC) Hur lära sig? Vad är farorna. LayoutManagers. Exempel på några av komponenterna

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

Läs mer

Swing. MER Java Foundation Classes (JFC) Vad är farorna. Hur lära sig? LayoutManagers. Exempel på några av komponenterna

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

Läs mer

ITK:P1 Föreläsning 4. Grafiska gränssnitt i Java. AWT-komponenter

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

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015

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

Läs mer

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 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 mer

Modelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545

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,

Läs mer

Föreläsnings 11 - GUI, Händelsestyrda program, MVC

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

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016

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

Läs mer

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes Vad kännetecknar en god klass F12 Nested & En odelad, väldefinierad abstraktion Uppgiften kan beskrivas kort och tydlig Namnet är en substantiv eller adjektiv som beskriver abstraktionen på ett adekvat

Läs mer

Föreläsning 15 (16) Historik (java.awt) Historik (javax.swing) Introduktion till Swing

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

Läs mer

Support Manual HoistLocatel Electronic Locks

Support Manual HoistLocatel Electronic Locks Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing

Läs mer

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 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 mer

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 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 mer

GUI-programmering. Gustav Taxén Martin Berglund DH2640 Grafik och Interaktionsprogrammering VT 2008

GUI-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 mer

Projekt 2 XL. Observer-mönstret

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

Läs mer

Make a speech. How to make the perfect speech. söndag 6 oktober 13

Make a speech. How to make the perfect speech. söndag 6 oktober 13 Make a speech How to make the perfect speech FOPPA FOPPA Finding FOPPA Finding Organizing FOPPA Finding Organizing Phrasing FOPPA Finding Organizing Phrasing Preparing FOPPA Finding Organizing Phrasing

Läs mer

Fönstersystem. Objektorientering och händelsebaserad programmering. Applikation. Interaktionstoolkit. Händelsehanterare och grafiktoolkit

Fö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 mer

Lektion Händelsehanterare

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

Läs mer

MVC-mönstret. model-view-control i Swing

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

Läs mer

Modelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545

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,

Läs mer

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 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 mer

Efterhand fick vi ett system som vi tyckte var väl anpassat. Vi renskrev kladden (nedan) och började programmera menyerna.

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

Läs mer

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 18

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

Läs mer

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 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 mer

Webbregistrering pa kurs och termin

Webbregistrering pa kurs och termin Webbregistrering pa kurs och termin 1. Du loggar in på www.kth.se via den personliga menyn Under fliken Kurser och under fliken Program finns på höger sida en länk till Studieöversiktssidan. På den sidan

Läs mer

Mer om grafiska komponenter. Händelsestyrda program

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.

Läs mer

Malmö högskola 2007/2008 Teknik och samhälle

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

Läs mer

12.6 Heat equation, Wave equation

12.6 Heat equation, Wave equation 12.6 Heat equation, 12.2-3 Wave equation Eugenia Malinnikova, NTNU September 26, 2017 1 Heat equation in higher dimensions The heat equation in higher dimensions (two or three) is u t ( = c 2 2 ) u x 2

Läs mer

Tentamen FYTA11 Javaprogrammering

Tentamen 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 mer

How to format the different elements of a page in the CMS :

How to format the different elements of a page in the CMS : How to format the different elements of a page in the CMS : 1. Typing text When typing text we have 2 possible formats to start a new line: Enter - > is a simple line break. In a paragraph you simply want

Läs mer

Modellsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545

Modellsvar 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 mer

Laboration 15 Grafiskt användargränssnitt

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

Läs mer

Webbreg öppen: 26/ /

Webbreg öppen: 26/ / Webbregistrering pa kurs, period 2 HT 2015. Webbreg öppen: 26/10 2015 5/11 2015 1. Du loggar in på www.kth.se via den personliga menyn Under fliken Kurser och under fliken Program finns på höger sida en

Läs mer

Preschool Kindergarten

Preschool Kindergarten Preschool Kindergarten Objectives CCSS Reading: Foundational Skills RF.K.1.D: Recognize and name all upper- and lowercase letters of the alphabet. RF.K.3.A: Demonstrate basic knowledge of one-toone letter-sound

Läs mer

Quick Start Guide Snabbguide

Quick Start Guide Snabbguide Quick Start Guide Snabbguide C Dictionary Quick Start Thank you for choosing C Dictionary and C-Pen as your translation solution. C Dictionary with its C-Pen connection will make translation easy and enable

Läs mer

Problem som kan uppkomma vid registrering av ansökan

Problem som kan uppkomma vid registrering av ansökan Problem som kan uppkomma vid registrering av ansökan Om du har problem med din ansökan och inte kommer vidare kan det bero på det som anges nedan - kolla gärna igenom detta i första hand. Problem vid registrering

Läs mer

LiTHehack? Här? lithehack se koma Tisdagar och torsdagar

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

Läs mer

Lösningsförslag till tentamen

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

Läs mer

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson Kravhantering På Riktigt, 16 maj 2018 Anna Fallqvist Eriksson Agilista, Go See Talents linkedin.com/in/anfaer/

Läs mer

Händelsestyrda program

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 mer

Föreläsning 8. Designmönster

Föreläsning 8. Designmönster Föreläsning 8 Designmönster Designmönster När man designar program kan det vara viktigt att förstå hur man tidigare gått till väga när man konstruerat program. Kännedom om dessa tillvägagångssätt kan snabba

Läs mer

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

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.

Läs mer

Objektorienterad programmering med Java Swing. Programexempel. Swing och AWT AWT. = Abstract windowing toolkit

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

Läs mer

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås Schenker Privpak AB Interface documentation for web service packageservices.asmx 2012-09-01 Version: 1.0.0 Doc. no.: I04304b Sida 2 av 7 Revision history Datum Version Sign. Kommentar 2012-09-01 1.0.0

Läs mer

http://marvel.com/games/play/31/create_your_own_superhero http://www.heromachine.com/

http://marvel.com/games/play/31/create_your_own_superhero http://www.heromachine.com/ Name: Year 9 w. 4-7 The leading comic book publisher, Marvel Comics, is starting a new comic, which it hopes will become as popular as its classics Spiderman, Superman and The Incredible Hulk. Your job

Läs mer

Omentamen FYTA11 Javaprogrammering

Omentamen FYTA11 Javaprogrammering Lunds universitet FYTA11 Institutionen för Teoretisk Fysik HT 08 Omentamen FYTA11 Javaprogrammering Onsdag 4:e februari 2009, 13:00 17:00 Instruktioner Inga hjälpmedel är tillåtna. Behandla högst en uppgift

Läs mer

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR Kontrollera vilka kurser du vill söka under utbytet. Fyll i Basis for nomination for exchange studies i samråd med din lärare. För att läraren ska kunna göra en korrekt

Läs mer

Recitation 4. 2-D arrays. Exceptions

Recitation 4. 2-D arrays. Exceptions Recitation 4. 2-D arrays. Exceptions Animal[] v= new Animal[3]; 2 declaration of array v Create array of 3 elements v null a6 Assign value of new-exp to v Assign and refer to elements as usual: v[0]= new

Läs mer

OOP Objekt-orienterad programmering

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)

Läs mer

Annonsformat desktop. Startsida / områdesstartsidor. Artikel/nyhets-sidor. 1. Toppbanner, format 1050x180 pxl. Format 1060x180 px + 250x240 pxl.

Annonsformat desktop. Startsida / områdesstartsidor. Artikel/nyhets-sidor. 1. Toppbanner, format 1050x180 pxl. Format 1060x180 px + 250x240 pxl. Annonsformat desktop Startsida / områdesstartsidor 1. Toppbanner, format 1050x180 pxl. Bigbang (toppbanner + bannerplats 2) Format 1060x180 px + 250x240 pxl. 2. DW, format 250x240 pxl. 3. TW, format 250x360

Läs mer

Frames, menyer och GUI-program

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

Läs mer

27. GUI Programming. Java. Summer 2008 Instructor: Dr. Masoud Yaghini

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

Läs mer

SI-pass 4. Johan Brook och Jesper Persson. 25 september 2012. Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner.

SI-pass 4. Johan Brook och Jesper Persson. 25 september 2012. Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner. SI-pass 4 Johan Brook och Jesper Persson 25 september 2012 1. Sant eller falskt? Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner. Interfaces i Java kan innehålla privata

Läs mer

Föreläsning 3: Händelsestyrda program och användargränssnitt

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

Läs mer

Schenker Privpak AB Telefon 033-178300 VAT Nr. SE556124398001 Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr 033-257475 Säte: Borås

Schenker Privpak AB Telefon 033-178300 VAT Nr. SE556124398001 Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr 033-257475 Säte: Borås Schenker Privpak AB Interface documentation for Parcel Search 2011-10-18 Version: 1 Doc. no.: I04306 Sida 2 av 5 Revision history Datum Version Sign. Kommentar 2011-10-18 1.0.0 PD First public version.

Läs mer

Boiler with heatpump / Värmepumpsberedare

Boiler with heatpump / Värmepumpsberedare Boiler with heatpump / Värmepumpsberedare QUICK START GUIDE / SNABBSTART GUIDE More information and instruction videos on our homepage www.indol.se Mer information och instruktionsvideos på vår hemsida

Läs mer

Malmö högskola 2007/2008 Teknik och samhälle

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

Läs mer

6 th Grade English October 6-10, 2014

6 th Grade English October 6-10, 2014 6 th Grade English October 6-10, 2014 Understand the content and structure of a short story. Imagine an important event or challenge in the future. Plan, draft, revise and edit a short story. Writing Focus

Läs mer

ITK:P1 Lektion 4. Lektion 4. Lektion 4. Att implementera en spelidé i Java. DSV Peter Mozelius

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äs mer

Beijer Electronics AB 2000, MA00336A, 2000-12

Beijer Electronics AB 2000, MA00336A, 2000-12 Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this

Läs mer

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) 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 mer

Arv och Grafiska Användargränssnitt

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,

Läs mer

Grafiska komponenter.

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

Läs mer

Schenker Privpak AB Telefon 033-178300 VAT Nr. SE556124398001 Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr 033-257475 Säte: Borås

Schenker Privpak AB Telefon 033-178300 VAT Nr. SE556124398001 Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr 033-257475 Säte: Borås Schenker Privpak AB Interface documentation for web service packageservices.asmx 2010-10-21 Version: 1.2.2 Doc. no.: I04304 Sida 2 av 14 Revision history Datum Version Sign. Kommentar 2010-02-18 1.0.0

Läs mer

Adding active and blended learning to an introductory mechanics course

Adding active and blended learning to an introductory mechanics course Adding active and blended learning to an introductory mechanics course Ulf Gran Chalmers, Physics Background Mechanics 1 for Engineering Physics and Engineering Mathematics (SP2/3, 7.5 hp) 200+ students

Läs mer

GUI /ll tusen. GUI /ll tusen. Java/Swing. Top Level Containers. General Purpose Containers. GrIP-vt2010-GUI-programmering Cristian Bogdan

GUI /ll tusen. GUI /ll tusen. Java/Swing. Top Level Containers. General Purpose Containers. GrIP-vt2010-GUI-programmering Cristian Bogdan GUI programmering Cristian Bogdan cristi@kth.se GUI /ll tusen Win32 API (C) MFC (C++) VCL/CLX (C++/Delphi) wxwidgets (C++) Qt (C++/Java) GTK+ (C).NET Framework (VB/C++/C#) Java AWT/Swing/SWT (Java) osv

Läs mer

Observer Pattern och MVC. Objekt-orienterad programmering och design Alex Gerdes, 2016

Observer Pattern och MVC. Objekt-orienterad programmering och design Alex Gerdes, 2016 Observer Pattern och MVC Objekt-orienterad programmering och design Alex Gerdes, 2016 Model View Controller Model View Controller (MVC) är ett design pattern (architectural pattern) som är väldigt vanligt

Läs mer

Tentamen FYTA11 Javaprogrammering

Tentamen 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 mer

Inlupp1 - kommentarer. Uppgift 2. Uppgift 2

Inlupp1 - kommentarer. Uppgift 2. Uppgift 2 Inlupp1 - kommentarer Var gärna mer specifika när ni skriver i dagboken, jämför: arbetade på inlupp1 la in en avsluta-knapp i gränssnittet Servern ska självfallet startas när klienten startas och på samma

Läs mer

Isolda Purchase - EDI

Isolda Purchase - EDI Isolda Purchase - EDI Document v 1.0 1 Table of Contents Table of Contents... 2 1 Introduction... 3 1.1 What is EDI?... 4 1.2 Sending and receiving documents... 4 1.3 File format... 4 1.3.1 XML (language

Läs mer

BOENDEFORMENS BETYDELSE FÖR ASYLSÖKANDES INTEGRATION Lina Sandström

BOENDEFORMENS BETYDELSE FÖR ASYLSÖKANDES INTEGRATION Lina Sandström BOENDEFORMENS BETYDELSE FÖR ASYLSÖKANDES INTEGRATION Lina Sandström Frågeställningar Kan asylprocessen förstås som en integrationsprocess? Hur fungerar i sådana fall denna process? Skiljer sig asylprocessen

Läs mer

1. Unpack content of zip-file to temporary folder and double click Setup

1. Unpack content of zip-file to temporary folder and double click Setup Instruktioner Dokumentnummer/Document Number Titel/Title Sida/Page 13626-1 BM800 Data Interface - Installation Instructions 1/8 Utfärdare/Originator Godkänd av/approved by Gäller från/effective date Mats

Läs mer

Installation av F13 Bråvalla

Installation av F13 Bråvalla Website: http://www.rbdesign.se Installation av F13 Bråvalla RBDESIGN FREEWARE - ESCK Norrköping-Bråvalla 1. Ladda ner och packa upp filerna i en mapp som du har skapat på ett lättöverskådligt ställe utanför

Läs mer

Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document

Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document Användarhandledning inloggning Logga in Gå till denna webbsida för att logga in: http://csportal.u4a.se/

Läs mer

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) 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 mer

Kursutvärderare: IT-kansliet/Christina Waller. General opinions: 1. What is your general feeling about the course? Antal svar: 17 Medelvärde: 2.

Kursutvärderare: IT-kansliet/Christina Waller. General opinions: 1. What is your general feeling about the course? Antal svar: 17 Medelvärde: 2. Kursvärdering - sammanställning Kurs: 2AD510 Objektorienterad programmering, 5p Antal reg: 75 Program: 2AD512 Objektorienterad programmering DV1, 4p Antal svar: 17 Period: Period 2 H04 Svarsfrekvens: 22%

Läs mer

OOP Objekt-orienterad programmering

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)

Läs mer

Health café. Self help groups. Learning café. Focus on support to people with chronic diseases and their families

Health café. Self help groups. Learning café. Focus on support to people with chronic diseases and their families Health café Resources Meeting places Live library Storytellers Self help groups Heart s house Volunteers Health coaches Learning café Recovery Health café project Focus on support to people with chronic

Läs mer

1 Grafiska komponenter

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

Läs mer

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE SVENSK STANDARD SS-ISO/IEC 26300:2008 Fastställd/Approved: 2008-06-17 Publicerad/Published: 2008-08-04 Utgåva/Edition: 1 Språk/Language: engelska/english ICS: 35.240.30 Information technology Open Document

Läs mer

Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?

Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser? Programmeringsteknik och Matlab Övning 6 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312

Läs mer

Travel General. General - Essentials. General - Conversation. Asking for help. Asking if a person speaks English

Travel General. General - Essentials. General - Conversation. Asking for help. Asking if a person speaks English - Essentials Can you help me, please? Asking for help Do you speak? Asking if a person speaks Do you speak _[language]_? Asking if a person speaks a certain language I don't speak_[language]_. Clarifying

Läs mer

Fönsterhantering, grafik

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

Läs mer

Förskola i Bromma- Examensarbete. Henrik Westling. Supervisor. Examiner

Förskola i Bromma- Examensarbete. Henrik Westling. Supervisor. Examiner Förskola i Bromma- Examensarbete Henrik Westling Handledare/ Supervisor Examinator/ Examiner Ori Merom Erik Wingquist Examensarbete inom arkitektur, grundnivå 15 hp Degree Project in Architecture, First

Läs mer

LULEÅ TEKNISKA UNIVERSITET

LULEÅ TEKNISKA UNIVERSITET LULEÅ TEKNISKA UNIVERSITET Tentamen i Objektorienterad programmering och design Totala antalet uppgifter: 5 Lärare: Håkan Jonsson, Andrey Kruglyak, 491000 Resultatet offentliggörs senast: 2010-04-09. Tillåtna

Läs mer

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson Kvalitetsarbete I Landstinget i Kalmar län 24 oktober 2007 Eva Arvidsson Bakgrund Sammanhållen primärvård 2005 Nytt ekonomiskt system Olika tradition och förutsättningar Olika pågående projekt Get the

Läs mer

Workplan Food. Spring term 2016 Year 7. Name:

Workplan Food. Spring term 2016 Year 7. Name: Workplan Food Spring term 2016 Year 7 Name: During the time we work with this workplan you will also be getting some tests in English. You cannot practice for these tests. Compulsory o Read My Canadian

Läs mer

Översättning av galleriet. Hjälp till den som vill...

Översättning av galleriet. Hjälp till den som vill... Hjälp till den som vill... $txt['aeva_title'] = 'Galleri'; $txt['aeva_admin'] = 'Admin'; $txt['aeva_add_title'] = 'Titel'; $txt['aeva_add_desc'] = 'Beskrivning'; $txt['aeva_add_file'] = 'Fil att ladda

Läs mer

Support for Artist Residencies

Support for Artist Residencies 1. Basic information 1.1. Name of the Artist-in-Residence centre 0/100 1.2. Name of the Residency Programme (if any) 0/100 1.3. Give a short description in English of the activities that the support is

Läs mer

Read Texterna består av enkla dialoger mellan två personer A och B. Pedagogen bör presentera texten så att uttalet finns med under bearbetningen.

Read Texterna består av enkla dialoger mellan två personer A och B. Pedagogen bör presentera texten så att uttalet finns med under bearbetningen. ! Materialet vill ge en gemensam bas av användbara fraser för dialoger i klassrummet. skapa dialoger mellan elever på engelska. skapa tydliga roller för två personer, och. presentera meningsfulla fraser

Läs mer

The Last Adventure. Innehåll. Objektorientering. Språket Java. Java - Paket. Java - synlighet. Den sista lektionen. Repetition.

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

Läs mer

EXPERT SURVEY OF THE NEWS MEDIA

EXPERT SURVEY OF THE NEWS MEDIA EXPERT SURVEY OF THE NEWS MEDIA THE SHORENSTEIN CENTER ON THE PRESS, POLITICS & PUBLIC POLICY JOHN F. KENNEDY SCHOOL OF GOVERNMENT, HARVARD UNIVERSITY, CAMBRIDGE, MA 0238 PIPPA_NORRIS@HARVARD.EDU. FAX:

Läs mer