Grafiska användargränssnitt i Java
|
|
- Agneta Nyberg
- för 8 år sedan
- Visningar:
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
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,
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,
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
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
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
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
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
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
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
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
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:
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,
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
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
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
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
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
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
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
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
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
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
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
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
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
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,
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
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
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
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
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
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.
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
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
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
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
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,
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
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
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
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
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
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ö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
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/
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
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
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.
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
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
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
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
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
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
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)
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
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
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
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
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
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.
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
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
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
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
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
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.
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,
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
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
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
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
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
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
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
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
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
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
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ö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/
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
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%
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)
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
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
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
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
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
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
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
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
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
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
Ö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
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
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
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
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: