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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. O FrontPage Explorer

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

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

ΥΠΗΡΕΣΙΑ WEBMAIL ΚΥΠΕΣ

(Blended Executive Learning)

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

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

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

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

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

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

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

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

2) Η/Υ µε πρόσβαση στο διαδίκτυο και εγκατεστηµένο τον φυλλοµετρητή διαδικτύου

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

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

Άσκηση 3 -Δηµιουργία ιστοσελίδων µε HTML µέρος 3 ο

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

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

Κεφάλαιο Ι : Το περιβάλλον εργασίας και το πρώτο απλό πρόγραµµα σε Java.

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

Προγραµµατισµός 2 The shell

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

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)

Εργαστήριο Java. Αντικείµενο: Δίκτυα. Χειρισµός URLs. Άσκηση 1. Lab11. Πακέτο java.net

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

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

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

Γλώσσα περιγραφής οδηγιών εµφάνισης-στοιχειοθέτησης

Εγκατάσταση. Εγκατάσταση του Wamp

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

Transcript:

Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 10η: 07/06/2006 & 08/06/2006 1

Applets 2

Εισαγωγικά Τα προγράµµατα σε Java programs διαιρούνται σε δυο κύριες κατηγορίες, applets και εφαρµογές (applications) Μια εφαρµογή είναι ένα συνηθισµένο πρόγραµµα σε Java program Ένα applet είναι ένα είδος προγράµµατος Java το οποίο µπορεί να εκτελεστεί από το ιαδίκτυο (Internet) 3

Σύντοµη εισαγωγήστην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

Εντολές µορφοποίησης της 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

Εντολές µορφοποίησης της 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

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

Περίγραµµα απλούhtml εγγράφου (1/3) 14

Περίγραµµα απλούhtml εγγράφου (2/3) 15

Περίγραµµα απλούhtml εγγράφου (3/3) 16

Ένα HTML έγγραφο (1/3) 17

Ένα HTML έγγραφο (2/3) 18

Ένα HTML έγγραφο (3/3) 19

Όψη στον browser ενός HTML εγγράφου 20

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

Υπερσύνδεσµοι - 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

HTML έγγραφο µε υπερσύνδεσµο και εικόνα (2/3) 25

HTML έγγραφο µε υπερσύνδεσµο και εικόνα (3/3) 26

Όψη σε browser ενός HTML εγγράφου µε υπερσύνδεσµο καιεικόνα 27

Παγίδα: Μη χρήση του κουµπιού 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

Ορισµός ενός 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

Σχεδιασµός ενός applet Σε ένα applet µπορούν να προστεθούν συνιστώσες µε τον ίδιο τρόπο που µπορούµενα προσθέσουµε συνιστώσεςσεέναjframe Η µέθοδος add χρησιµοποιείται για να προσθέτουµε συνιστώσες σε ένα applet µε τον ίδιο τρόπο που τις προσθέτουµε σεέναjframe 34

Ένα applet (1/2) 35

Ένα applet (2/2) 36

ιαφορές 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

Εκτέλεση ενός 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

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

Ένας calculator σε applet (1/9) 44

Ένας calculator σε applet (2/9) 45

Ένας calculator σε applet (3/9) 46

Ένας calculator σε applet (4/9) 47

Ένας calculator σε applet (5/9) 48

Ένας calculator σε applet (6/9) 49

Ένας calculator σε applet (7/9) 50

Ένας calculator σε applet (8/9) 51

Ένας 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

Ένα applet µε έναicon (1/3) 55

Ένα applet µε έναicon (2/3) 56

Ένα applet µε έναicon (3/3) 57

Εισαγωγή ενός 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

Όψη στον browser 61

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