Java Direkt, upplaga 5 Innehåll

Relevanta dokument
Java Direkt, upplaga 7 Innehåll

Java Direkt, upplaga 6 Innehåll

Java Direkt, upplaga 8 Innehåll

Kursplanering Objektorienterad programmering

Ingenjörsfirman Stéen Java Sida 1 av 1

Inre klasser Anonyma klasser Kloning I/O-ramverket. anonyma klasser

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

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

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

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

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3

Föreläsning 6. Designmönstret Decorator I/O-ramverket

Innehållsförteckning

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

Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets

Undantagshantering. Fördjupad Java. Fel. Undantag. Fånga Undantag. Grupper av Undantag

Subklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser

Undantagshantering. Fördjupad Java. Undantag. Fel. Grupper av Undantag. Fånga Undantag

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 7 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Språkkonventioner och redigering av tal.

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

JAVA Mer om klasser och objektorientering

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 7 Erik Nilsson, Institutionen för Datavetenskap, LiU

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

TENTAMEN I. OBJEKTORIENTERAD PROGRAMMERING för Z1. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

Klasser för grafik och bildhantering

Arvshierarki. Object. Bostadshus. Flerfamiljshus. Villa

Fördjupad Java. Undantagshantering. Fel

2I1049 Föreläsning 8. Grafiska gränssnitt i Java. AWT-komponenter. Grafiska gränssnitt, Java interface och händelsehantering

Översikt. Skriva och läsa data. Kontrollflöde. Två sorters loopar. For-loop. For-loop

Föreläsning 11 Aktiva objekt och trådar, strömmar, kommunikation DAT043,

Programmering för språkteknologer II, HT2011. Rum

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 7 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 7 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Objektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim

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

DAT043 - föreläsning 8

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT / 33

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

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

OOP Objekt-orienterad programmering

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion

Undantag. Engelska: exceptions. Skansholm: exceptionella händelser

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

PROGRAMMERINGSTEKNIK TIN212

Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klass

F2 Java I/O - strömmar Meddelandesändning med TCP

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Design och konstruktion av grafiska gränssnitt

OBJEKTORIENTERAD PROGRAMMERING för Z1 (TDA540)

OOP Objekt-orienterad programmering

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Föreläsning 15: Repetition DVGA02

Nätverksprogrammering. Tekniker för att skriva program som kommunicerar med varandra över ett nätverk. F1 Nätverk och strömmar.

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

EDAA01 Programmeringsteknik - fördjupningskurs

Objektorienterad Programmering DAT043. Föreläsning 5 29/1-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)

Mer om grafiska komponenter. Händelsestyrda program

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

1 Grafiska komponenter

Kursplanering för EE3D i kursen Programmering 1, 100p.

Design och konstruktion av grafiska gränssnitt

GUI Nyckelbeståndsdelar

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

F1 Nätverk och strömmar

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

F2 Java I/O - strömmar Meddelandesändning med TCP EDA095 Nätverksprogrammering

Tentamen , Grundläggande programmering i Java

Objektorienterad Programkonstruktion. Föreläsning 9 30 nov 2016

Enum, mer om Arv, Abstrakta klasser, Polymorfism, Recursion! Förelasning 14!! TDA540 Objektorienterad Programmering!

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Objektorienterad Programkonstruktion

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

Arv och Grafiska Användargränssnitt

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

Design och konstruktion av grafiska gränssnitt

Imperativ programmering. Föreläsning 4

OBJEKTORIENTERAD PROGRAMMERING för Z1 (TDA540) Ansvarig: Jan Skansholm, tel eller

Föreläsning 10. ADT:er och datastrukturer

Klasshierarkier - repetition

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

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

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU

Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes

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

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

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

SMD 134 Objektorienterad programmering

JAVAUTVECKLING LEKTION 7

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

Föreläsning 1 Nätverk och strömmar

Arv. Grafiska komponenter. Arv. Arvhierarki. Arv. Föreläsning 12 (OH-bilder 9)

a. Vilka av följande påståenden är riktiga? Observera att felaktigt valda påståenden ger poängavdrag. (4p)

Transkript:

Java Direkt, upplaga 5 Innehåll Förord 1 1 Att komma igång 5 1.1 Vad är Java? 5 1.2 Var hittar man information om Java? 8 1.3 Traditionell kompilering, länkning och exekvering 8 1.4 Kompilering och exekvering av Javaprogram 12 1.5 Det första programmet 14 1.6 Användning av dialogrutor för att läsa indata 18 1.7 Användning av dialogrutor för meddelanden 20 1.8 Alternativa sätt att starta Javaprogram 23 1.9 Användning av numeriska variabler 23 1.10 if-satsen 26 1.11 Användning av dialogrutor för val av alternativ 29 1.12 while-satsen 30 1.13 for-satsen 34 1.14 Nästlade repetitionssatser 37 1.15 Ett grafiskt program 39 1.16 En applet 44 1.17 Övningsuppgifter 49 2 Klasser och objekt 51 2.1 Objektorientering 51 2.2 Klassdefinitioner 54 2.3 Variabler 55 2.4 Enkla variabler och inbyggda typer 57 2.4.1 Numeriska typer och uttryck 57 2.4.2 Typen boolean 60 2.4.3 Typen char 62 2.5 Referensvariabler 62 2.6 Tilldelning 65 2.7 Metoder 67 2.7.1 Definitioner av metoder 70 2.7.2 Anrop av metoder 72 2.8 Exempel Visning av klockslag 74 2.9 Standardklassen String 78

2.10 Initieringar av objekt 82 2.11 Överlagrade metoder 85 2.12 Standardklassen Point 86 2.13 Övningsuppgifter 88 3 Mer om klasser 89 3.1 Paket 89 3.2 Inkapsling och synlighet 95 3.3 Klassvariabler 96 3.4 Klassmetoder 100 3.5 Standardklassen Math 102 3.6 Statisk import 103 3.7 Wrapper classes Omslagsklasser 105 3.8 Uppräkningstyper 109 3.8.1 Grundläggande egenskaper 109 3.8.2 Avancerade egenskaper 114 3.9 Övningsuppgifter 118 4 Objektorienterad programutveckling 121 4.1 Objektorienterad analys 121 4.2 Objektorienterad design 127 4.3 Objektorienterad programmering 127 4.4 Algoritmer 130 4.5 Relationer i Java 133 4.5.1 Känner-till-relation 133 4.5.2 Har-relation (komposition) 135 4.5.3 Är-relation (arv) 138 4.6 Övningsuppgifter 140 5 Läsning och skrivning 141 5.1 Kommandofönster 141 5.2 Lokala konventioner 145 5.3 Redigering av utskrifter 146 5.3.1 Metoden format 147 5.3.2 Klassen NumberFormat 151 5.4 Avkodning av indata 153 5.4.1 Klassen Scanner 153 5.4.2 Klassen StringTokenizer 157 5.4.3 Felkontroll 158 5.5 Textfiler 160 5.6 Datum och tider 164 5.6.1 Klassen Date 164

5.6.2 Klassen TimeZone 164 5.6.3 Klassen Calendar 165 5.6.4 Klassen DateFormat 166 5.7 Övningsuppgifter 168 6 Grafiska komponenter 171 6.1 En översikt 171 6.2 JComponent och Container 178 6.3 JLabel 186 6.4 JButton 192 6.5 JToggleButton, JCheckBox och JRadioButton 197 6.6 JPanel 201 6.7 JTextField 203 6.7.1 Inläsning av enkel text 204 6.7.2 Inläsning av numeriska data 206 6.8 JComboBox 209 6.9 JSlider 214 6.10 JSpinner 218 6.11 JScrollPane 223 6.12 JTextArea och JTextComponent 226 6.13 JEditorPane 230 6.14 Applets 233 6.15 Övningsuppgifter 237 7 Konstruktion av egna grafiska komponenter 239 7.1 Exempel klassen Flight 239 7.2 Grafik 242 7.2.1 Rektanglar 245 7.2.2 Cirklar och ellipser 246 7.2.3 Linjer 246 7.2.4 Bågar och segment 246 7.2.5 Texter 247 7.2.6 Klassen Graphics2D 247 7.3 Klassen CircleDiagram 249 7.4 Utskrifter till skrivare 252 7.5 Övningsuppgifter 258 8 Layout och utseende 259 8.1 Layout Managers 259 8.1.1 FlowLayout 259 8.1.2 GridLayout 260 8.1.3 BorderLayout 262

8.1.4 BoxLayout 263 8.1.5 CardLayout 267 8.1.6 GridBagLayout 268 8.2 JSplitPane 273 8.3 JTabbedPane 276 8.4 Ramar 279 8.4.1 LineBorder 281 8.4.2 EtchedBorder 281 8.4.3 BevelBorder och SoftBevelBorder 282 8.4.4 EmptyBorder 283 8.4.5 MatteBorder 283 8.4.6 TitledBorder 284 8.4.7 CompoundBorder 285 8.5 Look & Feel 285 8.6 Övningsuppgifter 290 9 Tecken, fält och listor 291 9.1 Teckenkoder och teckenliteraler 291 9.2 Jämförelser av tecken och texter 296 9.3 Fält med enkla komponenter 299 9.4 Sökning och sortering 305 9.5 Fält med referenser 309 9.6 Fält som parametrar 314 9.7 Parametrar till main 318 9.8 Parametrar till applets 320 9.9 Listor 323 9.10 Multipla relationer 331 9.11 Flerdimensionella fält 334 9.12 Klassen JList 338 9.13 Övningsuppgifter 346 10 Mer om arv 349 10.1 Definitioner av subklasser 349 10.2 Referenser till subklasser 353 10.3 Dolda instansvariabler 354 10.4 Polymorfism och dynamisk bindning 355 10.5 Konstruktorer vid arv 358 10.6 Metoden finalize 361 10.7 Objektsamlingar 362 10.8 Abstrakta klasser 365 10.9 Gränssnitt interface 367 10.10 Jämförbara objekt 373 10.10.1 Gränssnittet Comparable och metoden compareto 373

10.10.2 Extern jämförare 376 10.11 Ett objektorienterat exempel 379 10.12 Övningsuppgifter 386 11 Exceptionella händelser 389 11.1 Automatiskt genererade exceptionella händelser 390 11.2 Att själv generera exceptionella händelser 393 11.3 Specifikation av exceptionella händelser 395 11.4 Att fånga exceptionella händelser 397 11.5 Övningsuppgifter 402 12 Aktiva objekt 403 12.1 Rörliga Swing-komponenter 404 12.2 Trådar 411 12.3 Klassen java.util.timer 417 12.4 Synkronisering av trådar 420 12.5 Standardklasser för köer 427 12.6 Trådar och Swing 431 12.7 Trådar i awt-komponenter 434 12.8 Övningsuppgifter 437 13 Händelser, lyssnare och handlingar 439 13.1 Programstruktur 440 13.2 Händelseklasser 441 13.3 Lyssnarklasser och lyssnargränssnitt 441 13.4 Adapterklasser 445 13.5 Mus 445 13.6 Tangentbord 453 13.7 Ett avancerat exempel Tennisspel 457 13.8 Handlingar gränssnittet Action 463 13.9 Övningsuppgifter 471 14 Menyer, fönster och dialogrutor 473 14.1 Menyer 473 14.1.1 Menyrader, menyer och menyalternativ 473 14.1.2 Submenyer 479 14.1.3 Popup-menyer 481 14.1.4 Kortkommandon till menyer 483 14.1.5 Menyer och handlingar 484 14.2 Verktygsfält klassen JToolBar 486 14.3 Gemensamma egenskaper för toppnivåkomponenter 490 14.4 Klassen JFrame 496

14.5 Interna fönster 500 14.6 Dialogrutor 506 14.6.1 Klassmetoder i klassen JOptionPane 507 14.6.2 Objekt av klassen JOptionPane 512 14.6.3 Direkt användning av klassen JDialog 516 14.7 Klassen JFileChooser 519 14.8 Exempel en texteditor 526 14.9 Övningsuppgifter 531 15 Bilder och ljud 533 15.1 Nerladdning och visning av bilder 533 15.2 Ikoner 540 15.2.1 Gränssnittet Icon 540 15.2.2 En enkel ikonklass 541 15.2.3 Ikoner med variabel storlek 543 15.2.4 Bilder med variabel storlek 546 15.3 Rörliga bilder 548 15.4 Ljud i applets 551 15.5 Ljud i fristående applikationer 553 15.6 Övningsuppgifter 554 16 Strömmar och filer 555 16.1 En översikt 556 16.2 Strömmar för inmatning 562 16.2.1 InputStream 562 16.2.2 Reader 564 16.2.3 InputStreamReader 565 16.2.4 FileInputStream 566 16.2.5 FileReader 566 16.2.6 ByteArrayInputStream och CharArrayReader 566 16.2.7 StringReader 567 16.2.8 PipedInputStream och PipedReader 567 16.2.9 FilterInputStream och FilterReader 567 16.2.10 BufferedInputStream och BufferedReader 569 16.2.11 LineNumberReader 570 16.2.12 PushbackInputStream och PushbackReader 570 16.2.13 SequenceInputStream 571 16.3 Strömmar för utmatning 571 16.3.1 OutputStream och Writer 571 16.3.2 OutputStreamWriter 572 16.3.3 FileOutputStream 573 16.3.4 FileWriter 573 16.3.5 ByteArrayOutputStream och CharArrayWriter 574

16.3.6 StringWriter 575 16.3.7 PipedOutputStream och PipedWriter 575 16.3.8 FilterOutputStream och FilterWriter 577 16.3.9 BufferedOutputStream och BufferedWriter 578 16.3.10 PrintStream och PrintWriter 578 16.4 Strömmar med binära data 579 16.4.1 DataInputStream och DataOutputStream 580 16.4.2 ObjectInputStream och ObjectOutputStream 582 16.5 Direktaccessfiler 586 16.6 Klassen File 593 16.7 Övningsuppgifter 596 17 Containerklasser 599 17.1 Generiska programenheter 599 17.1.1 Generiska klasser 599 17.1.2 Generiska metoder 604 17.1.3 Wildcards 606 17.2 Samlingar Gränssnittet Collection 610 17.3 Klassen Collections 612 17.4 Iteratorer 614 17.5 Listor 616 17.5.1 Gemensamma egenskaper Gränssnittet List 616 17.5.2 Stackar 617 17.5.3 Implementeringar av listor 618 17.6 Mängder 619 17.6.1 Gemensamma egenskaper Gränssnittet Set 619 17.6.2 Sorterade mängder och klassen TreeSet 620 17.6.3 Klasserna HashSet och LinkedHashSet 622 17.6.4 Klassen EnumSet 622 17.7 Avbildningstabeller 623 17.7.1 Gemensamma egenskaper Gränssnittet Map 623 17.7.2 Sorterade avbildningstabeller och klassen TreeMap 626 17.7.3 Klasserna HashMap, LinkedHashMap och HashTable 630 17.7.4 Klassen ConcurrentHashMap 633 17.7.5 Klassen EnumMap 634 17.7.6 Klassen Properties 635 17.8 Övningsuppgifter 639 18 Kommunikation 641 18.1 Klassen URL 641 18.2 Portar och sockets 646 18.3 Datagram 648 18.4 Multicast 657

18.5 Uppkopplade förbindelser Client / Server 662 18.6 E-post 669 18.7 Applets och kommunikation 671 18.8 Övningsuppgifter 675 19 Lite av varje 677 19.1 Kommentarer och dokumentation 677 19.2 Fler operatorer 680 19.2.1 Bit-operatorer och binär lagring av heltal 680 19.2.2 Villkorsoperatorn 684 19.3 Fler satser 685 19.3.1 switch-satsen 685 19.3.2 do-satsen 687 19.3.3 Satser med etikett 688 19.3.4 break-satsen 688 19.3.5 continue-satsen 689 19.4 Rekursion 690 19.5 Övningsuppgifter 694 Appendix A Reserverade ord och operatorer 697 Appendix B LATIN_1-koder 699 Sakregister 701