OOP1 OOP&M del III– Föreläsning vecka 11 mer I/O serialization GUI intro.

Slides:



Advertisements
Liknande presentationer
Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Advertisements

Avlusning Debugger (”avlusare”) Breakpoints Watch.
1 2I1049 Föreläsning 8 KTH-MI Peter Mozelius Grafiska gränssnitt, Java interface och händelsehantering.
Prestandaanalys av JavaScript
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
OOP Objekt-orienterad programmering
Programmeringsteknik för K och Media
1 ITK:P1 Föreläsning 4 Grafiska gränssnitt och händelsehantering DSV Peter Mozelius.
Next previous Innehåll Inledning Några enkla exempel Pekare till och kort beskrivning av större exempel Speciella referenser (som används i marginalen)
1 ITK:P1 Föreläsning 6 Layoutmodeller i Java DSV Marie Olsson.
Strömmar Vid läsning och skrivning används något som kallas strömmar.
Next previous Introduktion till Java Av Björn Eiderbäck Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: OOMPAE 2000.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Vektorer (klassen Vector) Sortering
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.
OOP Objekt-orienterad programmering
Föreläsning 14 ”Enkel” Filhantering.
1 ITK:P1 Föreläsning 8 Multimedia för spelkonstruktion DSV Peter Mozelius.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Deliveries by train All photos: Jonas Jernberg. In our ambition to find the best solutions for the enviroment We are certified by ISO and FSC. We.
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
Föreläsning 1 Om kursen Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
0. Kod, Klassdiagram och Sekvensdiagram import java.awt.event.*; import javax.swing.*; import java.awt.*; public class TwoThreads implements ActionListener.
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
ITK:P2 F8 Strömmar och filhantering DSV Peter Mozelius.
Föreläsning 9 Arv kap 8.1 Interface kap 9.2 Grafiska användargränssnitt (GUI) kap 10.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
Programmeringsteknik för K och Media
To practise speaking English for 3-4 minutes Genom undervisningen i ämnet engelska ska eleverna ges förutsättningar att utveckla sin förmåga att: formulera.
Polygoner och samband mellan dessa
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
OOP&M - teori1 OOP del III– Föreläsning vecka 9 GUI Containers och LayoutManagers (Inner classes)
OOP&M - teori1 OOP&M – Föreläsning 3 kap 2-4 Repetition Föreläsning-datayper-syntax-tilldelning.
OOP&M - teori1 OOP&M del III– Föreläsning 3 vecka 6 Kontrollkomponenter (Components) Som Applets.
1-1 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-1 Programmering 7.5 hp Programmering är... creativ, fascinerande, roligt,
OOP&M - teori1 OOP&M del III– Föreläsning 23 vecka 15 Graphics Graphics2D Menyer JMF.
OOP&M - teori1 OOP del III– Vecka 10 Händelser Kontrollkomponenter (Components) Featuring: Applets.
OOP&M - teori1 OOPM del II– Föreläsning vecka Mer om ärvning.. Abstrakta klasser/metoder Gränssnitt/Interface klasser.
DA7351 Programmering 1 Skapa och placera en komponent i en container Layoutmanagers Applet Händelser och lyssnare Föreläsning 15.
Shannon dekomposition
OOP&M - teori1 OOPM del II – Föreläsning vecka Abstrakta klasser/metoder igen Gränssnitt/Interface klasser igen tillämpat.
Lab Contact 1  Lab Assistants:  Meng Liu, Group B  Sara Abbaspour, Group A
Gruppövning Applikationsprogramering Klassuppdelning Loose Coupling Model View Controller Inversion of Control Layout med Swing JSplitPane Mouse-over Events.
Advice from Bronx Best Real Estate Attorney. Jagiani Law office of New York has been successfully working as divorce attorney & Real estate attorney for.
Digitization and Management Consulting
Why you should consider hiring a real estate attorney!
Law abiding grounds of filing a divorce Jagianilaw.com.
Mathematics 1 /Matematik 1
Bringapillow.com. Online Dating- A great way to find your love! The words ‘Love’ and ‘Relationship’ are close to every heart. Indeed, they are beautiful!
Work of a Family law attorney Jagianilaw.com. A Family Law Attorney basically covers a wide range spectrum of issues that a family may face with difficulty.
Meeting singles had never been so easy before. The growing dating sites for singles have given a totally new approach to getting into relationships. ‘Singles.
Hoppas det här går hem ! Bildspelet vecka 3 5 BE ® BrucElvis
Formal Languages, Automata and Models of Computation
RMI Av: Josefina & Sarah DS04.
My role model.
Svarsfrekvensen i undersökningar från webbpaneler. Några resultat
How to Buy Engagement Rings for Women Online?. Buying engagement rings for women or tiffany celebration rings from the online market could be a bit challenging.
You Must Take Marriage Advice to Stop Divorce! Dontgetdivorced.com.
Föreläsning 15: Exceptions & lite swing, gränssnitt
Föreläsning 13: Swing (GUI), händelser, timer
Föreläsning 8: Exempel och problemlösning
Föreläsning 12: Exempel och problemlösning
JVM Java Virtual Machine
Figure Types of analog-to-analog modulation
Nätverkskommunikation
Presentationens avskrift:

OOP1 OOP&M del III– Föreläsning vecka 11 mer I/O serialization GUI intro

OOP2 OOP – Exception Handling Exception Model Exceptions make the error handling more logical and regular by allowing you to group all the exception handling code in only one place instead of worrying about all the things that could go wrong at each line of the code Method AMethod BMethod CMethod D EXCEPTION direction of propagation main() ERROR exception handling code Throws Exception

OOP3 OOP – Exception Handling Exception Model Example try { // normally this code runs without problems, // but sometimes may raise exceptions or exit // the block via a break, continue, or return } catch (ExceptionType1 e1) { // handle an exception object e1 of type // ExceptionType1 or of a subclass of that type } catch (ExceptionType2 e2) { // handle an exception object e1 of type // ExceptionType2 or of a subclass of that type } finally { // always execute this code, after leaving the try clause: // 1) normally, after reaching the bottom of the block // 2) with an exception handled by a catch // 3) with an exception that is not handled // 4) because of a break, continue or return statement }

OOP4 OOP – Java an Files Java provides a predefined class for modeling disk files, called File the constructor for File accepts the file’s name (a String reference) as its argument new File ( filename ) An example of this would be: Filef1, f2; f1 = new File(“Bjorn.txt”); f2 = new File(“Lisa.txt”);

OOP5 OOP – Java and Files If the files exist the class provides us two methods for directly operate with the files: DO NOT FORGET THAT: The creation of the instances f1 and f2 doesn’t mean that the files exist!! Filef; f = new File(“delete_me”); f.delete(); delete Filef1, f2; f1 = new File(“change_me”); f2 = new File(“take_my_name”); f1.renameTo(f2); rename

OOP6 OOP – Java streams into files Java program FileOutputStream SHOPPING potatis mjolk agg … shopping.lst bytes of data ewsc24rfds53Hej20Hur20m76ar20du20?rsf

OOP7 OOP – Java streams into files summary: how to create or overwrite a file in a line Create a File object to represent the file and then use it to Create a FileWriter object to represent the output pathway to the file and use it to Create a PrintWriter object to provide a convenient output pathway to the file Use the print or println methods of PrintWriter as needed to write content to the file PrintWriter target = new PrintWriter( new FileWriter( new File(“data.out”)));

OOP8 OOP – input … an overview Java program InputStream bytes of data ewsc24rfds53Hej20Hur20m76ar20du20?rsf Input source We must build a bridge between the Java Program and the input source!!

OOP9 OOP – keyboard Java provides a predefined object to represent the stream of input that comes from the keyboard System.in. keyboard [existing] InputStream new InputStreamReader new BufferedReader keyb isr System.in BufferedReader keyb = new BufferedReader( new InputStreamReader(System.in));

OOP10 OOP –INPUT from files Obtaining input from disk files is only a little bit more complicated than from the keyboard. Our starting point must be to find some sort of InputStream object. As we said before, both BufferedReader and FileReader belong to that class new FileReader new BufferedReader br fr files BufferedReader br = new BufferedReader( new FileReader("c:/testio.txt"));

OOP11 Serialisering(Serialization) Även objekt kan sparas till filer eller skickas över nätverk. För att göra detta måste objektet implementera gränssnittet Serializable från biblioteket java.io. Gränssnittet Serializable har inga metoder som skall implementeras Så här kan det se ut import java.io.*; public class myClass implements Serializable{ /*metodkropp*/ }

OOP12 Serialisering(Serialization) Hur man serialiserar ett objekt av typen MyClass sparar till fil och läser tillbaka. File f = new File("c:/objects"); MyClass myObject =new MyClass(); ObjectOutputStream oos=new ObjectOutputStream( new FileOutputStream(f)); oos.writeObject(myObject); oos.close(); //Hämta tillbaka och typomvandla MyClass myOtherObject; ObjectInputStream ois=new ObjectInputStream( new FileInputStream(f)); myOtherObject = (MyClass)ois.readObject(); ois.close();

OOP13 Serialisering(Serialization) Man kan med metoderna writeObject() och readObject() skriva resp läsa object. Man kan skriva flera object till en fil (även med olika typ. När man läser tillbaka måste man typomvandla (casting), dvs man måste veta vilka object som skrevs i vilken ordning. När man läser tillbaka måste man ha tillgång till de klasser som representerar objekten

OOP14 Instanceof Med instanceof kan man ta reda på vilken klass ett object tillhör. Används till exempel för att räkna object av olika typ i en samling Syntax: if(myObject instanceof ClassName){ /*Kod som utförs om myObject tillhör klassen ClassName*/ }

OOP15 GUI

OOP16 GUI Två API-er/bibliotek för Graphical User Interface (API=Application Program Interface) AWT Abstract Windowing Toolkit (Enklare GUI) Swing (Avancerat GUI) Uppbyggt på samma sätt som AWT. Kan ibland ge problem när man använder det i webbrowsers.

OOP17 GUI Består av: Containers – Behållare tex: JFrame, JApplet, JWindow, LayoutManagers – Bestämmer hur layouten byggs upp tex: GridLayout, BorderLayout. Kontrollkomponenter – tex: JButton, JCheckBox, JOptionPane Händelselyssnare och Händelsehanterare– Kopplas till de olika kontrollkomponenter för att ge önskat resultat.

OOP18 GUI-Struktur Vi låter två filer bära strukturen för GUI-Applicationen Funktionaliteten placeras i klassen Application Användargränsittet placeras i klassen GUI dessutom har vi en tredje fil där vår mainmetod placeras och som startar applikationen. Förutom ovanstående filer kan det finnas ett flertal andra klasser som bygger upp applikationen och användargränssnittet

OOP19 GUI Containers ett urval JFrame – grundbehållare för en applikation. Ett fönster med ram och titel. Kan ha en menyrad. Huvudkomponent i applikation deklareras: JFrame myFrame; skapas: myFrame = new JFrame(); JPanel en osynlig behållare. Används som del i JFrame för att visa bilder eller placera ut knappar. deklareras: JPanel myPanel: skapas: myPanel = new JPanel();

OOP20 GUI LayoutManagers ett urval BorderLayout innehåller 5 områden( NORTH, SOUTH, WEST, EAST, CENTER) Bra grundlayoutBorderLayout GridLayout (ett rutnät av rader och kolumner)GridLayout Flowlayout (Kontrollkomponenterna läggs till efterhand bra för knappar)Flowlayout Layouter kan appliceras på Containers/Behållare som JFrame, JPanel mfl

OOP21 ?