Περιεχόµενα Πρόλογος...15 Κεφάλαιο 1: Εισαγωγή...17 Τι είναι η Java... 17 Η ιστορία της Java... 21 Εκδόσεις της Java... 23 Ξεκίνηµα µε την Java... 24 Το περιβάλλον της γλώσσας... 28 ηµιουργία µιας εφαρµογής Java... 29 ηµιουργία ενός Java applet... 33 Ερωτήσεις και Ασκήσεις... 38 Κεφάλαιο 2: εδοµένα, µεταβλητές, υπολογισµοί...41 Μεταβλητές και δεδοµένα... 41 Ακέραιοι τύποι δεδοµένων... 44 Αριθµοί κινητής υποδιαστολής... 45 Οι µοναδιαίοι τελεστές αύξησης και µείωσης... 46 Οι τελεστές των αριθµητικών πράξεων... 48 Περισσότερα για τις εκχωρήσεις... 51 Λογικές τιµές... 52 Τελεστές σύγκρισης... 53 Λογικοί τελεστές... 53 Τελεστές δυαδικών ψηφίων... 55 Χαρακτήρες... 57 Αλφαριθµητικά... 59 Αρχικές τιµές για τις µεταβλητές-µέλη... 60 Μετατροπή τύπου δεδοµένου... 60 Μαθηµατικές συναρτήσεις... 63 Συµπληρωµατικές ασκήσεις... 65 Μετατροπή αλφαριθµητικών σε αριθµούς... 71 Εισαγωγή δεδοµένων από το πληκτρολόγιο... 71 Ερωτήσεις και Ασκήσεις... 73 7
8 Εισαγωγή στην Java 2 Κεφάλαιο 3: οµές διακλάδωσης επαναλήψεις µέθοδοι...75 Αποφάσεις... 75 Η δοµή if... 76 Ο όρος else... 77 Ένθετα if... 80 Οι τελεστές & και... 84 Ο τριαδικός τελεστής?:... 85 Η δοµή πολλαπλής διακλάδωσης switch... 86 Εντολές επανάληψης Βρόχοι... 88 Ο βρόχος for... 89 O βρόχος while... 91 O βρόχος do - while... 93 Ένθετοι βρόχοι... 94 Η εντολή continue... 96 Η χρήση του break σε ένα βρόχο... 99 Μέθοδοι...105 Ερωτήσεις και Ασκήσεις...109 Κεφάλαιο 4: Πίνακες και αλφαριθµητικά...113 Πίνακες µε µία διάσταση...113 Η δήλωση ενός πίνακα...114 Η καταχώρηση του πίνακα...115 Απόδοση αρχικών τιµών στον πίνακα...115 Πίνακες πολλών διαστάσεων...117 Ταξινόµηση...119 Αλφαριθµητικά...124 Πράξεις µε αλφαριθµητικά...125 Υποαλφαριθµητικά...128 Προσπέλαση µεµονωµένων χαρακτήρων ενός αλφαριθµητικού και εύρεση του µήκους του...129 Αντικατάσταση χαρακτήρων σε ένα αλφαριθµητικό...129 Εντοπισµός χαρακτήρων µέσα σε ένα αλφαριθµητικό...130 Μετατροπή άλλων τύπων δεδοµένων σε αλφαριθµητικά η µέθοδος valueof...133 Μετατροπή αλφαριθµητικών σε άλλους τύπους δεδοµένων...134 Η κλάση StringBuffer...135 Αντικατάσταση χαρακτήρων σε αντικείµενο της κλάσης StringBuffer...136 Μετατροπή αντικειµένου StringBuffer σε αλφαριθµητικό...137 Αντιστροφή αλφαριθµητικού η µέθοδος reverse()...138 Ερωτήσεις και Ασκήσεις...139 Κεφάλαιο 5: Κλάσεις και αντικείµενα...141 Κλάσεις και αντικείµενα...141 Πώς ορίζουµε µια κλάση...142 Η µεταβλητή this...145 Οι κατασκευαστές...146
Περιεχόµενα 9 Πώς θα χρησιµοποιήσουµε µια κλάση που δηµιουργήσαµε...148 Πολλαπλοί κατασκευαστές...149 Η αναφορά στα αντικείµενα...151 Τι είναι τα πακέτα...153 Τα τυπικά πακέτα της Java...154 Πώς µπορούµε να "πακετάρουµε" τις δικές µας κλάσεις...155 Αντικειµενοστρεφής προγραµµατισµός...158 Ενθυλάκωση οι προσδιοριστές public, private και protected...159 Πολυµορφισµός...161 Η κληρονοµικότητα των κλάσεων...162 Τελικές κλάσεις και µέθοδοι...170 Μέθοδοι και κλάσεις αφηρηµένου τύπου...170 Οι διασυνδέσεις...171 Ερωτήσεις και Ασκήσεις...173 Κεφάλαιο 6: ηµιουργία του πρώτου applet...175 Εισαγωγή...175 Κατασκευή του πρώτου µας applet...176 Πώς δουλεύει το applet HelloWorld.java και το αρχείο HelloWorld.html...179 Πέρασµα παραµέτρων στο applet...181 Περισσότερα για τα αpplet...186 Οι µέθοδοι που χρησιµοποιούνται σε ένα αpplet...187 Το πρόσθετο Java και η ετικέτα <OBJECT>...189 Ερωτήσεις και Ασκήσεις...191 Κεφάλαιο 7: Γραφικά...193 Εισαγωγή η βιβλιοθήκη AWT (Abstract Window Toolkit)...193 Το σύστηµα συντεταγµένων της Java...194 Οι γραµµατοσειρές...195 Εµφάνιση κειµένου µε διάφορες γραµµατοσειρές...198 Πληροφορίες για τις γραµµατοσειρές...201 Η ρύθµιση του χρώµατος...203 Αλλαγή του σχήµατος του δροµέα...205 Γραµµές...206 Ορθογώνια...207 Ελλείψεις, κύκλοι και τόξα...211 Πολύγωνα...215 Αντιγραφή τµήµατος της οθόνης...217 Εφαρµογές...219 Ερωτήσεις και Ασκήσεις...225 Κεφάλαιο 8: Γραφικό περιβάλλον διασύνδεσης Μέρος Ι: Τα βασικά συστατικά...227 Γραφικό περιβάλλον διασύνδεσης GUI...227 Συστατικά και υποδοχείς στην Java...229 Κουµπί διαταγής...230
10 Εισαγωγή στην Java 2 Ετικέτα...233 Λίστες...235 Πλαίσια ελέγχου και κουµπιά επιλογής...238 Μενού επιλογής...241 Πεδίο κειµένου και περιοχή κειµένου...242 Ερωτήσεις και ασκήσεις...245 Κεφάλαιο 9: Γεγονότα...247 Γεγονότα το µοντέλο αποστολής γεγονότος...247 Η κλάση ActionEvent...254 Γεγονότα Ρύθµισης οι ράβδοι κύλισης...255 Η κλάση ItemEvent...258 ιασυνδέσεις ακροατών για συµβάντα χαµηλού επιπέδου...259 Γεγονότα του ποντικιού...261 Γεγονότα του πληκτρολογίου...266 Προσαρµοστές...268 Ερωτήσεις και Ασκήσεις...271 Κεφάλαιο 10: ιαχειριστές διάταξης...273 Εισαγωγή...273 Ο διαχειριστής FlowLayout...274 Ο διαχειριστής BorderLayout...276 Ο διαχειριστής GridLayout...279 Ο διαχειριστής GridBagLayout...282 Πάνελ...292 Ο διαχειριστής CardLayout...294 Ερωτήσεις και Ασκήσεις...299 Κεφάλαιο 11: Γραφικό περιβάλλον διασύνδεσης Μέρος ΙI: Περισσότερα συστατικά του AWT...301 Το συστατικό καµβάς...301 Πλαίσια...304 Μενού...309 Πλαίσια διαλόγου...317 Αναδυόµενα µενού...324 Ερωτήσεις και Ασκήσεις...328 Κεφάλαιο 12: Swing και Java2D...331 Τι είναι το Swing...331 Το µοντέλο του υποδοχέα ριζικού πλαισίου...335 Πλαίσια. Το συστατικό JFrame...337 Η κλάση JComponent...340 Ετικέτες και κουµπιά διαταγών...341 Ετικέτες. Η κλάση JLabel...341 Κουµπιά. Η κλάση JButton...345
Περιεχόµενα 11 Συστατικά κειµένου...350 Πεδίο και περιοχή κειµένου. Οι κλάσεις JTextField και JTextArea...350 Ο χειρισµός των γεγονότων στο Swing...351 Επικοινωνία µε το χρήστη. Η κλάση JOptionPane...361 Ο επιλογέας χρωµάτων. Το συστατικό JColorChooser...365 Πλαίσια. Η κλάση JPanel...367 Πλαίσια ελέγχου και ραδιοπλήκτρα. Οι κλάσεις JCheckBox και JRadioButton...372 Πτυσσόµενα πλαίσια και λίστες. Οι κλάσεις JComboBox και JList....376 Επιλογή αρχείων Η κλάση JFileChooser...385 Ράβδος ολίσθησης µε λαβή Η κλάση JSlider...388 Η χρήση µενού στα πλαίσια. Οι κλάσεις JMenu, JMenuBar και JMenuItem...391 ηµιουργία περιγραµµάτων στα πλαίσια....396 Τα applets του Swing η κλάση JApplet...400 Ο διαχειριστής διάταξης BoxLayout...403 Εµφάνιση και αίσθηση...407 Γραφικά µε το πακέτο Java 2D...413 Εκτυπώσεις στην Java2...418 Ερωτήσεις και Ασκήσεις...421 Κεφάλαιο 13: Εξαιρέσεις και Ισχυρισµοί...425 Τι είναι οι εξαιρέσεις...425 Τύποι εξαιρέσεων...427 Χειρισµός εξαιρέσεων...429 ηµιουργία των δικών µας εξαιρέσεων...431 Το τµήµα finally...435 Ισχυρισµοί (Assertions)...437 Ερωτήσεις και Ασκήσεις...441 Κεφάλαιο 14: Νήµατα...443 Τι είναι τα νήµατα...443 Το νήµα "δαίµων"...445 ηµιουργία νήµατος µε την κλάση Thread...446 ηµιουργία νήµατος µε την εφαρµογή της διασύνδεσης Runnable...448 Συγχρονισµός...457 Προτεραιότητες...462 Νήµατα και κινούµενες εικόνες...464 Ερωτήσεις και Ασκήσεις...469 Κεφάλαιο 15: Εικόνες, ήχος, κίνηση...471 Οι τύποι των εικόνων...471 Η θέση της εικόνας οι µέθοδοι getdocumentbase(), getcodebase()...472 Η φόρτωση της εικόνας...473 Η εµφάνιση της εικόνας...474 Το µέγεθος της εικόνας...476 Χάρτες γραφικών...477 Ήχοι...480
12 Εισαγωγή στην Java 2 Το Java Media Player...482 ηµιουργία κίνησης µε τη χρήση εικόνων...487 Γραφικά µε την τεχνική της διπλής προσωρινής αποθήκευσης και τη χρήση της κλάσης MediaTracker...492 Ερωτήσεις και Ασκήσεις...496 Κεφάλαιο 16: Τεχνικές εισόδου/εξόδου...497 Το ρεύµα δεδοµένων...497 Τα αντικείµενα αρχείων...499 Ρεύµατα εξόδου...502 Η κλάση FileOutputStream...503 Η κλάση FilterOutputStream...505 Τα ρεύµατα εισόδου...508 Οι υποκλάσεις της InputStream...509 Η υποκλάση FilterInputStream...510 Ρεύµατα µε αποθήκευση...512 Πλαίσια διαλόγου αρχείων...513 Το νέο I/O API Η κλάση FileChannel...516 Ερωτήσεις και Ασκήσεις...518 Κεφάλαιο 17: Επικοινωνίες και δίκτυα...519 ίκτυα...519 Το πρωτόκολλο TCP/IP...520 Οι διευθύνσεις στο δίκτυο...522 Η κλάση InetAddress...523 Προσδιορισµός των αρχείων στο δίκτυο η κλάση URL...527 Υποδοχές...530 Υποδοχές αυτοδύναµων πακέτων...537 Ερωτήσεις και ασκήσεις...543 Κεφάλαιο 18: οµές δεδοµένων το πακέτο java.util*...545 Οι κλάσεις-περιτυλίγµατα...545 Η κλάση Vector και η διασύνδεση Enumeration...547 Η δοµή στοίβας η κλάση Stack...549 Η δοµή ουράς...551 Πίνακες κατακερµατισµού...553 Λίστες...555 ένδρα...558 Κανονικές εκφράσεις...564 Ερωτήσεις και Ασκήσεις...571
Περιεχόµενα 13 Κεφάλαιο 19: Το εργαλείο Javadoc διεθνοποίηση...573 Εισαγωγή...573 Σχόλια doc...574 Ετικέτες javadoc...576 Η διεθνοποίηση της Java...578 Τοποθεσία...579 έσµες πόρων...583 Ερωτήσεις και Ασκήσεις...589 Κεφάλαιο 20: Η Java και οι βάσεις δεδοµένων...591 Εισαγωγή...591 Βάσεις δεδοµένων σχεσιακές βάσεις δεδοµένων...592 Η γλώσσα SQL (Structured Query Language)...595 Το JDBC API...597 Οι κυριότερες κλάσεις και διασυνδέσεις του JDBC...598 Οι διασυνδέσεις ResultSet και ResultSetMetaData...606 Η διασύνδεση Statement και η εκτέλεση εντολών SQL...608 Ερωτήσεις και Ασκήσεις...612 Κεφάλαιο 21: Επίκληση αποµακρυσµένων µεθόδων servlets...613 Τι είναι η Επίκληση Αποµακρυσµένων Μεθόδων (RMI)...613 Η αρχιτεκτονική του RMI...615 Εισαγωγή στα servlet...622 Ερωτήσεις και Ασκήσεις...630 Κεφάλαιο 22: JavaΒeans...633 Επισκόπηση της τεχνολογίας JavaBeans...633 Ο κόκκος...635 Το BDK (Beans Development Kit)...636 Η δηµιουργία ενός κόκκου...643 Περισσότερα για τα αρχεία JAR και για το βοηθητικό πρόγραµµα jar...646 Γεγονότα και ακροατές...648 Οι ιδιότητες ενός κόκκου...656 Ιδιότητες αναπήδησης...657 Περιοριστικές ιδιότητες...659 Η σειριοποίηση των αντικειµένων...661 Ρεύµατα σειριοποίησης...662 Προσαρµοσµένη σειριοποίηση...665 Αντανάκλαση...669 Ενδοσκόπηση...670 Glasgow η επόµενη γενιά της τεχνολογίας JavaBeans...675 Ερωτήσεις και Ασκήσεις...676
14 Εισαγωγή στην Java 2 Κεφάλαιο 23: Ολοκληρωµένα περιβάλλοντα ανάπτυξης εφαρµογών...679 Το πρόγραµµα JBuilder...680 Το VisualCafé...687 Η Visual J++...694 Παράρτηµα...699 Ευρετήριο...701