Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. Applets. Εισαγωγικά

Σχετικά έγγραφα
Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

Γαβαλάς αµιανός

ηµιουργία ιαλογικών Προγραµµάτων για το Web

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

HelloApplet. Παύλος Εφραιμίδης Java Applets 1

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης

Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head>

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. Συλλογές και Επαναλήπτες. Συλλογές - Collections

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

Ειδικά Θέματα Προγραμματισμού

Αντικειµενοστρεφής Προγραµµατισµός

Οδηγίες κατασκευής Ιστοσελίδων µε το πρόγραµµα FRONTPAGE 2003

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΦΑΡΜΟΓΩΝ

Βασίλειος Κοντογιάννης ΠΕ19

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

Εισαγωγή στην επιστήμη των υπολογιστών

Η γλώσσα HTML. Επιμέλεια: Δέγγλερη Σοφία

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING

<a href=" στο κείμενο</a>.

Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7

Κεφάλαιο 4 HyperText Markup Language - HTML. Προγραμματιστικά εργαλεία για το διαδίκτυο Φίλιππος Κουτσάκας, Πολύγυρος 2013

δηµιουργία ιστοσελίδων

Δημοσίευση στο Διαδίκτυο

<HTML> <HEAD> <TITLE> <BODY>

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού

Πλοήγηση www / Με τον Internet Explorer

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

Ref.: SLWS 1 5Copyright 2005 The European Computer Driving Licence Foundation Ltd Σελίδα 1 από 7

Ποιες είναι οι κύριες ετικέτες που χρησιμοποιεί η HTML για την περιγραφή της συνολικής δομής μιας ιστοσελίδας;

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Επανάληψη

Α ΛΥΚΕΙΟΥ - ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΪΟΣ 2019 ΕΝΔΕΙΚΤΙΚΕΣ ΕΡΩΤΗΣΕΙΣ ΚΑΤΑΝΟΗΣΗΣ

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών

1. O FrontPage Explorer

Προγραμματισμός Διαδικτύου

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιαχείριση Εξαιρέσεων. Εισαγωγή στη ιαχείριση Εξαιρέσεων

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

Ειδικά Θέματα Προγραμματισμού

ΕΡΓΑΣΤΗΡΙΟ FRONT PAGE 2

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

Κεφάλαιο 11: Εισαγωγή στην HTML. Εφαρμογές Πληροφορικής Κεφ. 11 Καραμαούνας Πολύκαρπος

Τεχνικός Εφαρμογών Πληροφορικής

1. Άνοιγμα Και Κλείσιμο Της Εφαρμογής Φυλλομετρητή Ιστού (Internet Explorer)

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός

Ειδικά Θέματα Προγραμματισμού

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιασύνδεση µε χρήστη: Swing ΙΙ. Window Listeners

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΑΣΠΑΙΤΕ. ΠΡΑΚΤΙΚΗ ΑΣΚΗΣΗ 4α. Υπερκείμενο και HTML. Ημερομηνία :... Τμήμα :... Ονοματεπώνυμο :...

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία ( ) Υπηρεσία FTP (File Transfer Protocol)

Αλεξιάδης Γεώργιος (ΠΕ86) -

Τι διαφορά έχει μια ιστοσελίδα του Διαδραστικού Ιστού web 2.0 από εκείνη του Στατικού Ιστού web 1.0;

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Επανάληψη

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Εργαστήριο του Μαθήματος: ΕΠΛ 001

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE)

Εγκατάσταση και βασική διαχείριση ενός ιστοτόπου

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING

(Blended Executive Learning)

Το διαδίκτυο είναι ένα δίκτυο που αποτελείτε από πολλά μικρότερα δίκτυα υπολογιστών.

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εισαγωγή στη Χρήση της Εφαρµογής Compaq Visual Fortran & του Microsoft Developer Studio

7.11 Πρωτόκολλα εφαρµογής

Εργαστήριο του Μαθήματος: ΕΠΛ003. Ενότητα 3 Εισαγωγή στο Microsoft Word

Βαρβάκειο Πρότυπο Γυμνάσιο

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαστήριο του Μαθήματος: ΕΠΛ001

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. Generics και η κλάση ArrayList. Εισαγωγή στα Generics

Οπτικός Προγραμματισμός σε NetBeans με Java Swing

7-22 Οκτωβρίου Μία γιορτή δημιουργίας με κώδικα. Europe Code Week

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ

Περιεχόμενα. Γαβαλάς Δαμιανός

Εξεταστέα Ύλη (Syllabus) Έκδοση 1.5

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Παγκόσμιος Ιστός

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies)

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD

Άνοιγμα (και κλείσιμο) της εφαρμογής Εγγράφου Κειμένου

Κείμενο ASCII Unicode - HTML. Κωδικοποίηση ASCII / Unicode HTML

Εργαστήριο #12. Βήμα 1 ο. Βήμα 2 ο. Βήμα 3 ο. Βήμα 4 ο.

VK -14/10/2016 Σελίς 1

Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ. Ασκήσεις 1-2 Εισαγωγή

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Παγκόσμιος Ιστός

ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML ΣΧΟΛΙΚΟ ΒΙΒΛΙΟ ΚΕΦΑΛΑΙΟ 11 Ευάγγελος Χ. Ζιούλας (Καθηγητής Πληροφορικής)

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

ΙΕΚ ΜΕΓΑΡΩΝ ΤΜΗΜΑ ΤΕΧΝΙΚΟY ΙΑΧΕΙΡΙΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΚΑΙ ΠΑΡΟΧΗΣ ΥΠΗΡΕΣΙΩΝ INTERNET / INTRANET

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

Transcript:

Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 10η: 07/06/2006 & 08/06/2006 1 Applets 2 Εισαγωγικά Τα προγράµµατα σε Java programs διαιρούνται σε δυο κύριες κατηγορίες, applets και εφαρµογές (applications) Μια εφαρµογή είναι ένα συνηθισµένο πρόγραµµα σε Java program Ένα applet είναι ένα είδος προγράµµατος Java το οποίο µπορεί να εκτελεστεί από το ιαδίκτυο (Internet) 3 1

Σύντοµη εισαγωγήστηνhtml HTML σηµαίνει Hypertext Markup Language Hypertext (Υπερκείµενο) είναι κείµενο που µπορεί να τα δούµε µέσα από ένα φυλλοµετρητή (browser) το οποίο περιέχει στοιχεία στα οποία µπορούµε να κάνουµε click, δηλ., περιέχει links ή hyperlinks Όταν κάνουµε clicked σε έναν σύνδεσµο, απεικονίζεται το έγγραφο που δείχνει ο σύνδεσµος Η HTML είναι µια γλώσσα που χρησιµοποιούµε για να γράφουµε HTML έγγραφα ή σελίδες (pages) τις οποίες θα δούµε σεένανweb browser 4 Σύντοµη εισαγωγήστηνhtml Η HTML αποτελείται από µια συλλογή απλών εντολών που µπορούµε να εισαγάγουµε σε ένα αρχείο κειµένου Αυτές µετατρέπουν το αρχείο κειµένου σε ένα έγγραφο που µπορούµε ναδούµε µε ένανweb browser Μερικές εντολές επιτρέπουν να εισαγάγουµε εικόνες και συνδέσµους Άλλες εντολές είναι εντολές σύνταξης που καθορίζουν τον κύριο τίτλο, υποτίτλους, αρχή παραγράφων κ.τ.λ. 5 Σύντοµη εισαγωγήστηνhtml Το µεγαλύτερο µέρος της HTML είναι απλά µια γλώσσα µορφοποίησης κειµένου Όµως, η HTML δεν είναι επεξεργαστής κειµένου Είναι µια πολύ απλή γλώσσα προγραµµατισµού Είναι παρόµοια µε τις σηµειώσεις που χρησιµοποιούν οι copy editors για να µαρκάρουν ένα κείµενο πριν γίνει η στοιχειοθεσία του για παραγωγή Η HTML δεν είναι µέρος της γλώσσας Java Υπάρχει κάποια αλληλεπίδραση µεταξύ HTML και Java Η HTML µπορεί να χρησιµοποιηθεί για να δείξει ένα Java applet 6 2

Εντολές µορφοποίησης της HTML Υπάρχουν δυο κύρια είδη εντολών στην HTML: Αυτές που σηµατοδοτούν την αρχή και το τέλος ενός τµήµατος κειµένου Αυτές που σηµατοδοτούν µια µόνο θέση στο κείµενο Οι εντολές που σηµατοδοτούν την αρχή και το τέλος ενός τµήµατος του κειµένου έχουν την µορφή: <Command> Some text </Command> 7 Εντολές µορφοποίησης της HTML Ηεπόµενηδήλωσηκάνειτηφράση"World's Greatest Home Page" να είναι κεφαλίδα Επιπέδου 1 Το Επίπεδο 1 είναι η µεγαλύτερη standard κεφαλίδα <h1> World's Greatest Home Page </h1> Μικρότερες κεφαλίδες, Επίπεδο 2 και Επίπεδο 3, δηµιουργούνται µε τις εντολές h2 και h3, κ.τ.λ. 8 Εντολές µορφοποίησης της HTML Οι εντολές που σηµατοδοτούν µια µόνο θέση στο κείµενο δεν έχουν τη δήλωση </Command> Για παράδειγµα, η εντολή οριζόντιας γραµµής: <hr> Οι εντολές στην HTML είναι σχετικές εντολές, αντί να είναι απόλυτες που προσδιορίζουν το ακριβές µέγεθος ή τις θέσεις Ο browser καθορίζει τα ακριβή µεγέθη και τις θέσεις 9 3

Εντολές µορφοποίησης της HTML Ο browser τυπικά προσδιορίζει τη θέση των line breaks στο κείµενο Όµως, ένα line break µπορεί να οριστεί ρητά µε εισαγωγή της εντολής break: <br> Μπορούµε επίσης να καθορίσουµε τοlayout Οτιδήποτε µεταξύ των εντολών <center> και </center> θα είναι κεντραρισµένο 10 Εντολές µορφοποίησης της HTML Ζεύγη εντολών µπορούν να φωλιαστούν, αλλά δεν διασχίζουν το ένα το άλλο: <h1> <center> Oops! </h1> </center> <h1> <center> OK! </center> </h1> ιαφορετικά από τη Java, οι εντολές της HTML δεν είναι case sensitive Ένα HTML αρχείο είναι ένα αρχείο κειµένου του οποίο το όνοµα πρέπει(?) να έχει κατάληξη.html 11 Περίγραµµα ενόςhtml εγγράφου Ολόκληρο το HTML έγγραφο πρέπει να περικλείεται σε ζεύγος <html> και </html> στην αρχή και στο τέλος του εγγράφου Η κεφαλίδα του εγγράφουν περικλείεται σε <head> και </head> Η κεφαλίδα δεν εικονίζεται στον browser όταν βλέπουµε τη σελίδα Καταγράφει πληροφορία που χρησιµοποιείται από τον browser Ηκεφαλίδαµπορείναπεριέχειέναντίτλο, που περικλείεται σε <title> και </title> Οτίτλοςχρησιµοποιείται ως όνοµα για το έγγραφο 12 4

Περίγραµµα ενόςhtml εγγράφου Το τµήµα του εγγράφου που εικονίζεται στην οθόνη διαιρείται σε δυο τµήµατα Το σώµα είναι το πραγµατικό περιεχόµενο του εγγράφου Περικλείεται σε <body> και </body> Το άλλο τµήµα θαπρέπειναπεριέχειe-mail διεύθυνση για επικοινωνία µε τον συντηρητή του εγγράφου, και την ηµεροµηνία τελευταίας τροποποίησης του εγγράφου Περικλείεται σε <address> και </address> 13 Περίγραµµα απλού HTML εγγράφου (1/3) 14 Περίγραµµα απλού HTML εγγράφου (2/3) 15 5

Περίγραµµα απλού HTML εγγράφου (3/3) 16 Ένα HTML έγγραφο (1/3) 17 Ένα HTML έγγραφο (2/3) 18 6

Ένα HTML έγγραφο (3/3) 19 Όψη στον browser ενός HTML εγγράφου 20 URL Ένα URL είναι το όνοµα ενόςhtml εγγράφου στον Παγκόσµιο Ιστό (Web) URL είναι ακρώνυµο τουuniform Resource Locator Τα URLs συνήθως αρχίζουν µε http Αυτό είναι το όνοµα του πρωτοκόλλου που χρησιµοποιείται για να µεταφέρουµε καιναδιερµηνεύουµε έναhtml έγγραφο Οι περισσότεροι browsers θα συµπληρώσουν αυτόµατα το http:// εάν το παραλείψουµε 21 7

Υπερσύνδεσµοι - Hyperlinks Κάποιο κείµενο µπορεί να µαρκαριστεί ως υπερσύνδεσµος, έτσι ώστε εάν κάποιος χρήστης κάνει click στον σύνδεσµο, ο browser να µας µεταφέρει στην ιστοσελίδα που καθορίζει το σύνδεσµος <a href="pathtodocument">texttoclick</a> Το PathToDocument µπορεί να είναι ένα full ή relative όνοµα µονοπατιού ενός HTML αρχείου, ή ένα URL σε µια οποιαδήποτε θέση του Web Το TextToClick θα εικονίζεται συνήθως υπογραµµισµένο στον browser 22 Εισαγωγή εικόνας Μπορούµε επίσηςναεισαγάγουµε µια εικόνα σε ένα HTML έγγραφο <img src="pathtopicture"> Το PathToPicture µπορεί να είναι full ή relative όνοµα µονοπατιού σε ένα αρχείο που θα είναι αρχείο εικόνας Συνήθως, τα πιο κοινά formats είναι τα.gif,.tiff, και.jpg 23 HTML έγγραφο µε υπερσύνδεσµο και εικόνα (1/3) 24 8

HTML έγγραφο µε υπερσύνδεσµο και εικόνα (2/3) 25 HTML έγγραφο µε υπερσύνδεσµο και εικόνα (3/3) 26 Όψη σε browser ενός HTML εγγράφου µε υπερσύνδεσµο καιεικόνα 27 9

Παγίδα: Μη χρήση του κουµπιού Refresh του browser Οι Browsers τυπικά κρατούν αντίγραφα των πιο πρόσφατων HTML που έχουν επιδείξει Αυτό βοηθά τον browser να ανακτήσει γρήγορα µια σελίδα όταν ξαναζητηθεί Αυτό το χαρακτηριστικό µπορεί να δηµιουργήσει πρόβληµα ότανσχεδιάζουµε καιαποσφαλµατώνουµε µια HTML σελίδα Εάν γίνει κάποια αλλαγή σε µια σελίδα, και δούµε τησελίδα ξανά, ίσως παραµένει η ίδια µε αυτή που βλέπαµε παλιά Αυτό συµβαίνει επειδή βλέπουµε το αντίγραφο και όχι τη νέα αρχική σελίδα Οι Browsers έχουν µιαεντολήγιαναξαναφορτώσουν µια σελίδα Συνήθως λέγεται "Refresh" ή "Reload", και είναι ένα κουµπί ή ένα στοιχείο του menu 28 Υπόδειξη: Άλλες γλώσσες για συγγραφή Ιστοσελίδων Η HTML είναι µια χαµηλού επιπέδου γλώσσα για έναν Web browser περίπου όπως η γλώσσα assembly είναι µια χαµηλού επιπέδου γλώσσα για τον υπολογιστή Οι περισσότεροι σχεδιαστές ιστοσελίδων χρησιµοποιούν υψηλού επιπέδου σχεδιαστικές γλώσσες για ιστοσελίδες που µεταφράζονται σε HTML Για παράδειγµα, Dreamweaver (Macromedia, Inc.), FrontPage (Microsoft Corporation), και GoLive (Adobe Systems Inc.) 29 Προγραµµατισµός applets Ηλέξηapplet σηµαίνει µικρή εφαρµογή (small application) Τα Applets φτιάχτηκαν να είναι µικρά προγράµµατα που εκτελούνται πάνω από το Internet Όµως, δενυπάρχουνπεριορισµοί µεγέθους στα applets Τα Applets µπορούµε ναταβλέπουµε απότο Internet, ή χωρίςσύνδεσηστοinternet Ένα applet είναι παρόµοιο µε έναswing GUI Στην πραγµατικότητα, όλες σχεδόν οι τεχνικές του Swing µπορούν να χρησιµοποιηθούν στα applets 30 10

Ορισµός ενός applet Μια κλάση applet συνήθως ορίζεται ως µια παραγόµενη κλάση της κλάσης JApplet ΗκλάσηJApplet βρίσκεται στο package javax.swing Υπάρχει επίσης µια παλιότερη κλάση, η Applet, ηοποίαόµως παραµερίστηκε από τη νεότερη κλάση JApplet 31 Applets στην ιεραρχία κλάσεων της Java 32 Σχεδιασµός ενός applet Μια κλάση applet µπορεί να σχεδιαστεί ως παραγόµενη κλάση της JApplet µε τονίδιο περίπου τρόπο που τα κανονικά Swing GUIs ορίζονται ως παραγόµενες κλάσεις της JFrame Όµως, ένα applet κανονικά δεν ορίζει constructors Η µέθοδος init εκτελεί τις αρχικοποιήσεις που θα εκτελούνται από τον constructor σε ένα κανονικό Swing GUI 33 11

Σχεδιασµός ενός applet Σε ένα applet µπορούν να προστεθούν συνιστώσες µε τον ίδιο τρόπο που µπορούµε να προσθέσουµεσυνιστώσεςσεέναjframe Η µέθοδος add χρησιµοποιείται για να προσθέτουµε συνιστώσες σε ένα applet µε τον ίδιο τρόπο που τις προσθέτουµε σεέναjframe 34 Ένα applet (1/2) 35 Ένα applet (2/2) 36 12

ιαφορές applets και Swing GUIs (1/2) Μερικάαπόταστοιχείαπουπεριλαµβάνονται σε ένα GUI δεν περιλαµβάνονται σε ένα applet Τα applets δεν περιέχουν main ήτηµέθοδο setvisible Τα applets απεικονίζονται αυτόµατα σε µια ιστοσελίδα ή σε έναν applet viewer Τα applets δεν έχουν τίτλους Εποµένως, δε χρησιµοποιούν τη µέθοδο settitle Συνήθως ενσωµατώνονται σε ένα HTML έγγραφο, και το HTML έγγραφο µπορεί να προσθέσει οποιονδήποτε τίτλο 37 ιαφορές applets και Swing GUIs (2/2) Τα applets δεν χρησιµοποιούν τη µέθοδο setsize Ένα HTML έγγραφο χειρίζεται το µέγεθος του applet Τα applets δεν έχουν το κουµπί close-window Εποµένως, δεν έχουν τη µέθοδο setdefaultcloseoperation Όταν ένα HTML έγγραφο που περιέχει ένα applet κλείσει, τότε κλείνει αυτόµατα και το applet 38 Εκτέλεση ενός applet Μια κλάση applet µεταγλωττίζεται µε τον ίδιο τρόπο όπως και κάθε άλλη κλάση της Java Όµως, ένα applet εκτελείται διαφορετικά από τα άλλα προγράµµατα Java Ο συνήθης τρόπος εκτέλεσης ενός applet είναι να το ενσωµατώσουµε σεέναhtml έγγραφο Κατόπιν, το applet εκτελείται µέσα στον Web 39 13

Εκτέλεση ενός applet Τα applets µπορούµεεπίσηςναταδούµε κάνοντας χρήση ενός applet viewer Ένας applet viewer είναι ένα πρόγραµµα σχεδιασµένο για να εκτελεί ένα applet ως αυτό να ήταν ξεχωριστό πρόγραµµα (stand-alone program) Ο appletviewer της Java µπορεί να χρησιµοποιηθεί για να εκτελέσουµεέναapplet: appletviewer FirstApplet.html Ίσως είναι αναγκαίο όµως, να δηµιουργήσουµε ένα HTML έγγραφο, και να τοποθετήσουµετο applet µέσα σε αυτό 40 Μενού σε ένα JApplet Τα µενού δηµιουργούνται και προστίθενται σε ένα JApplet όπως και σε ένα JFrame Η JApplet has έχει µια µέθοδο µεόνοµα setjmenubar που συµπεριφέρεταιτοίδιοόπωςκαι η µέθοδος setjmenubar της κλάσης JFrame Η JApplet µπορείεπίσηςναέχειγραµµές µενού που προστίθενται σε ένα JApplet ήσεέναpanel που είναι τµήµα ενόςjapplet χρησιµοποιώντας τη µέθοδο add 41 Υπόδειξη: Μετατρέποντας µια εφαρµογή Swing σε applet Ο γρηγορότερος και ευκολότερος τρόπος να εξηγηθεί πώς ορίζεται ένα applet, είναι να εξηγήσουµε πώςµετατρέπουµε έναswing GUI σε ένα applet 1. Κάνουµε την κλάση µας να είναι παραγόµενης της JApplet αντί να είναι παραγόµενη της Jframe 2. ιαγράφουµετηµέθοδο main 3. Αντικαθιστούµετονconstructor µε µια µέθοδο χωρίς παραµέτρους που την ονοµάζουµε init Το σώµατηςµεθόδου init µπορεί να είναι το ίδιο µετο σώµατουδιαγραµµένου constructor, αλλά χωρίς κάποια στοιχεία 42 14

Υπόδειξη: Μετατρέποντας µια εφαρµογή Swing σε applet 4. ιαγράφουµε κάθε ενεργοποίηση του super 5. ιαγράφουµε κάθεενεργοποίησηµεθόδου που προγραµµατίζουν το κουµπί close-window ενός παραθυρικού GUI 6. ιαγράφουµε κάθεενεργοποίησητηςsettitle 7. ιαγράφουµε κάθεενεργοποίησητηςsetsize Το επόµενο applet δηµιουργήθηκε µε τοντρόπο αυτό 43 Ένας calculator σε applet (1/9) 44 Ένας calculator σε applet (2/9) 45 15

Ένας calculator σε applet (3/9) 46 Ένας calculator σε applet (4/9) 47 Ένας calculator σε applet (5/9) 48 16

Ένας calculator σε applet (6/9) 49 Ένας calculator σε applet (7/9) 50 Ένας calculator σε applet (8/9) 51 17

Ένας calculator σε applet (9/9) 52 Εικονίδια - Icons Ένα εικονίδιο είναι µια εικόνα Συνήθως, αλλά όχι πάντα είναι µια µικρή εικόνα Ένα εικονίδιο µπορεί να αποθηκευτεί σε αρχείο σε κάποιο από τα standard formats Όπως.gif,.tiff, ή.jpg ΗκλάσηImageIcon χρησιµοποιείται για να µετατρέψει ένα αρχείο εικόνας σε εικονίδιο του Swing Κατόπιν, µπορεί να προστεθεί ως συνιστώσα σε οποιαδήποτε κλάση Container, όπως τη JApplet ΗκλάσηImageIcon βρίσκεται στο package javax.swing ImageIcon NameOfImageIcon = new ImageIcon("PictureFileName"); 53 Προσθέτοντας icons σε ένα applet Ο ευκολότερος τρόπος να απεικονίσουµε έναicon σε ένα applet είναι να το τοποθετήσουµε σεµια JLabel Οι επόµενες τρεις γραµµές κώδικα δηµιουργούν µια label, δηµιουργούν ένα icon, και κατόπιν προσθέτουν το icon στη label: JLabel alabel=new JLabel("Welcome to my applet."); ImageIcon dukeicon = new ImageIcon("duke_waving.gif"); alabel.seticon(dukeicon); Αυτό που εικονίζεται στο συγκεκριµένο icon ονοµάζεται Duke Είναι η mascot της Sun Microsystem για τη γλώσσα Java 54 18

Ένα applet µε έναicon (1/3) 55 Ένα applet µε έναicon (2/3) 56 Ένα applet µε έναicon (3/3) 57 19

Εισαγωγή ενός applet σε ένα HTML έγγραφο Ένα applet µπορεί να τοποθετηθεί σε ένα HTML έγγραφο µε τηνtag applet: <applet code="pathtoapplet" width=number1 height=number2> </applet> Εάν δοθεί µόνο το όνοµατουαρχείου.class, τότε το αρχείο HTML καιτοαρχείοτουapplet πρέπει να βρίσκονται στο ίδιο directory To PathToApplet µπορεί να είναι πλήρες ή σχετικό όνοµα µονοπατιού 58 Εισαγωγή ενός applet σε ένα HTML έγγραφο Σηµειώστε ότι δίνεται το όνοµα τουαρχείουclass, και όχι το όνοµα τουαρχείου.java Σηµειώστε επίσης ότι το εύρος (width) και το ύψος (height) του applet δίνεται µετηνεντολήαυτή, και όχι µέσα στον ορισµό της κλάσης του applet Το width και το height δίνονται σε pixels Οεπόµενος κώδικας, όταν τοποθετηθεί µέσα σε ένα HTML έγγραφο, θα απεικονίσει το applet του calculator σε έναν browser <applet code="appletcalculator.class" width=400 height=300> </applet> 59 Ένα applet σε ένα HTML έγγραφο <html> <head> <title> Vampire Control </title> </head>... <applet code="appletcalculator.class" width=400 height=300> </applet>... </html> 60 20

Όψη στον browser 61 Applets και ασφάλεια Ένα applet µπορεί να είναι ένα πρόγραµµαπου έγραψε κάποιος άλλος, το οποίο εκτελείται στον υπολογιστή σας Οποτεδήποτε κάποιου άλλου το πρόγραµµα εκτελείται στον υπολογιστή σας, εγείρουν ζητήµατα ασφάλειας: Θα διαβάσει πληροφορίες/δεδοµένα από τα αρχεία µας? Θα βλάψει το λειτουργικό µας σύστηµα? Τα applets είναι σχεδιασµένα έτσι ώστε να µην µπορούν να κάνουν αυτά τα πράγµατα (τουλάχιστον όχι εύκολα) 62 21