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

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

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

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

5. Τα βασικά των Applets στην Java

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

Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC

6.1 Εισαγωγή. 6.2 Ασφάλεια

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

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

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 3: Constructors και destructors

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 5: Κληρονομικότητα. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 2: Κλάσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

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

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

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 6: Φιλικές συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Διαδικτυακές Εφαρμογές Ενότητα 1: JPA

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Διαδικτυακές Εφαρμογές Ενότητα 4: Streams

Νέες Τεχνολογίες στην Εκπαίδευση

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

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

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Υπερφόρτωση τελεστών. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΜΑΘΗΜΑ: Διαδικτυακές Εφαρμογές

Δομημένος Προγραμματισμός

Μικροεφαρμογές (Applets)

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 9: Ειδικά θέματα γλώσσας C/C++. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 8: Αρχεία. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Νέες Τεχνολογίες στην Εκπαίδευση

Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Οντοκεντρικός Προγραμματισμός

Υπολογιστικά Συστήματα

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

Γενικά (για τις γραπτές εξετάσεις)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Εισαγωγή ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

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

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Νέες Τεχνολογίες στην Εκπαίδευση

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

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

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Μεταγλωττιστές. Ενότητα 4: Τυπικές γλώσσες (Μέρος 3 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Οντοκεντρικός Προγραμματισμός

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Ψηφιακή Τεχνολογία σε Ακαδημαϊκό Περιβάλλον

ΜΑΘΗΜΑ: Μεταγλωττιστές

Οντοκεντρικός Προγραμματισμός

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

Διδακτική της Πληροφορικής

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

Οντοκεντρικός Προγραμματισμός

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

ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ(Visual Basic)

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Δίκτυα Υπολογιστών Ενότητα 9: Dynamic Host Configuration Protocol- DHCP

Οντοκεντρικός Προγραμματισμός

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

Νέες Τεχνολογίες στην Εκπαίδευση

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα

Προγραμματισμός H/Y Ενότητα 7: Αρχεία. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Υπολογιστικά Συστήματα

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

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Προγραµµατισµός ΙΙ Java 2

Δομημένος Προγραμματισμός

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Τεχνολογία Πολυμέσων. Ενότητα 6: Keyframes και Transitions. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Οντοκεντρικός Προγραμματισμός

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Μορφοποίηση ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

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

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Δομημένος Προγραμματισμός

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΜΙΚΡΟΕΦΑΡΜΟΓΕΣ (APPLETS)

Τεχνολογία Πολυμέσων. Ενότητα 7: Εξάσκηση στην ανάπτυξη animation. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Τεχνολογία Πολυμέσων. Ενότητα 8: Pool Table. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός Η/Υ. 6 η ενότητα: Συναρτήσεις. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Γαβαλάς Δαμιανός Δικτυακά Πολυμέσα ΙΙ Εργαστήριο #3 0 : Εισαγωγή στacascading Style Sheets (CSS)

Μεταγλωττιστές. Ενότητα 5: Λεκτική ανάλυση (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Transcript:

Ειδικά Θέματα Προγραμματισμού Ενότητα 5: Applets και Γραφικά Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα του ΤΕΙ Δυτικής Μακεδονίας και της Ανώτατης Εκκλησιαστικής Ακαδημίας Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Applets και Γραφικά

Σκοποί ενότητας Σε αυτή την παρουσίαση θα ασχοληθούμε με τα Applets. Λόγω του γεγονότος ότι το μάθημα απευθύνεται άτομα με κάποια εμπειρία στον προγραμματισμό, κάποια θέματα του βιβλίου θεωρούνται γνωστά κι έχουν παραληφθεί στην παρουσίαση. 5

Περιεχόμενα ενότητας (1/3) Applets. Περιορισμοί των applets. Βασικές μέθοδοι των applets. Κύκλος εκτέλεσης applets (με χρήση του appletviewer). 6

Περιεχόμενα ενότητας (2/3) Applets και HyperText Markup Language (HTML). Εκτέλεση applets. Παράμετροι στα applets. Γραφικά στη Java. 7

Περιεχόμενα ενότητας (3/3) Βασικές μέθοδοι σχεδιασμού της κλάσης Graphics. Χρώματα. Γραμματοσειρές. Μέθοδοι της κλάσης Font. Μέθοδοι των applets κληρονομούμενες από υπερκλάσεις. Παράδειγμα. 8

Applets (1/2) Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη δυνατότητα προβολής γραφικών και τη δυνατότητα υλοποίησης ενός γραφικού περιβάλλοντος χειρισμού (GUI). Σε αντίθεση με αυτόνομες εφαρμογές δεν περιέχουν μια κύρια συνάρτηση (main) αλλά περιέχουν συναρτήσεις που εκτελούνται σε καθορισμένα συμβάντα και εκτελούν τον κώδικα που ορίζει ο χρήστης μέσα στην καθεμιά. 9

Applets (2/2) Για τη δημιουργία ενός applet δημιουργούμε μια υποκλάση της προκαθορισμένης κλάσης Applet. Απαιτείται η προσάρτηση του πακέτου java.applet.applet στον πηγαίο κώδικα. import java.applet.applet; 10

Περιορισμοί των applets Δε μπορούν να διαβάσουν ή να γράψουν στο σύστημα αρχείων του χρήστη. Επικοινωνούν μόνο με τον server στον οποίο έχουν αποθηκευθεί. Δε μπορούν να εκτελέσουν προγράμματα στο σταθμό του χρήστη. 11

Βασικές μέθοδοι των applets (1/3) public void init( ): Καλείται αυτόματα στην πρώτη εκτέλεση του applet. Εδώ ο προγραμματιστής επιτελεί τις όποιες αρχικοποιήσεις. public void start( ): Εκτελείται αυτόματα μετά από την init( ) καθώς και ύστερα από κάθε επαναφορά του appletviewer στο προσκήνιο. public void stop( ): Ο κώδικάς της εκτελείται αυτόματα κατά τη μετάβαση του appletviewer στο background. 12

Βασικές μέθοδοι των applets (2/3) public void destroy( ): Εκτελείται αυτόματα κατά την παύση της εκτέλεσης του applet (κλείσιμο του browser ή του appletviewer). Σπανίως χρησιμοποιείται. public void paint (Graphics graph): εκτελείται αυτόματα μετά από τη start(). Εδώ εισάγεται από τον προγραμματιστή κώδικας σχεδίασης. (Απαιτείται η προσθήκη του πακέτου java.awt.graphics). Η paint εκτελείται επίσης όταν ο προγραμματιστής δίνει εντολή επανασχεδιασμού του γραφικού περιβάλλοντος με τη συνάρτηση repaint ( ). 13

Βασικές μέθοδοι των applets (3/3) Ο προγραμματιστής καθορίζει σε κάθε μέθοδο τον αντίστοιχο κώδικα που θα εκτελείται όποτε καλείται η καθεμιά, δηλαδή παρακάμπτει (override) τις συναρτήσεις που έχουν οριστεί στην υπερκλάση java.applet.applet. 14

Κύκλος εκτέλεσης applets (με χρήση appletviewer*) * Ορισμένοι web browsers αγνοούν τις συναρτήσεις start( ) και stop( ) κατά τη μεταφορά τους στο προσκήνιο και στο παρασκήνιο και εκτελούν μόνο τη συνάρτηση paint( ) κατά την επαναφορά τους στο προσκήνιο. 15

Applets και HTML Όλα τα applets εκτελούνται μέσω ιστοσελίδων οι οποίες περιέχουν αναφορά στον κώδικά τους: <APPLET CODE= AppletCode.class HEIGHT=XX WIDTH=YY></APPLET>. CODE: Το όνομα του μεταγλωττισμένου αρχείου.class του applet. HEIGHT: ύψος του παραθύρου του applet σε pixels. WIDTH: πλάτος του παραθύρου του applet σε pixels. 16

Εκτέλεση applets Δύο τρόποι εκτέλεσης: Μέσω του appletviewer στο command prompt: appletviewer MyApplet.html. Μέσω web browsers (InternetExplorer, Mozilla, Netscape) ανοίγοντας το αντίστοιχο αρχείο HTML. 17

Παράμετροι στα applets Σε ένα applet μπορούν να μεταβιβαστούν παράμετροι που ορίζονται στον κώδικα της ιστοσελίδας του: <APPLET CODE= appletfile.class WIDTH=XX HEIGHT=YY> <PARAMETER NAME= someparametername VALUE= somevalue > </APPLET>. Αποθήκευση της τιμής παραμέτρου σε μεταβλητή string εντός του applet: String getparameter(string paremetername). 18

Γραφικά στη Java Ο σχεδιασμός γραφικών αντικειμένων υλοποιείται μέσω της κλάσης Graphics (απαιτείται η προσθήκη του πακέτου java.awt.graphics). Ένα αντικείμενο της κλάσης Graphics περιέχει μεθόδους για το σχεδιασμό γραμμών και βασικών σχημάτων. Στα applets, οι εντολές σχεδιασμού γραφικών αντικειμένων τοποθετούνται στη συνάρτηση paint. 19

Βασικές μέθοδοι σχεδιασμού της κλάσης Graphics Σχεδίαση γραμμής: void drawline (int x1, int y1, int x2, int y2); Σχεδίαση string: void drawstring (String str, int x_pos,int y_pos); Σχεδίαση ορθογωνίου: void drawrect (int x1,int y1,int x2,int y2); Σύστημα συντεταγμένων ενός applet: o Θετικές τιμές του x προς τα δεξιά. o Θετικές τιμές του y προς τα κάτω. Σχήμα 1. Σύστημα συντεταγμένων applet, πηγή: διδάσκων (2015). 20

Χρώματα Δυνατότητα αλλαγής χρωμάτων των σχημάτων (foreground) και του φόντου μέσω της κλάσης Color (πακέτο java.awt.color). Κατασκευαστής της κλάσης Color: Color(int r, int g, int b);. r, g, b: χρωματικές συνιστώσες κόκκινου, πράσινου και μπλε αντίστοιχα: 0 r, g, b 255. Προκαθορισμένα βασικά χρώματα π.χ. Color.red, Color.blue, Color.gray κλπ.. 21

Γραμματοσειρές (1/3) Εκπροσωπούνται από αντικείμενα της κλάσης Font (πακέτο java.awt.font). Κατασκευαστής: Font (String name,int style, int size). String name: όνομα γραμματοσειράς (case insensitive). πχ TimesRoman, Arial. 22

Γραμματοσειρές (2/3) int style: Στυλ γραμματοσειράς. Στο πακέτο Font έχουν προκαθοριστεί σταθερές: Απλή: Font.PLAIN. Έντονη: Font.BOLD. Πλάγια: Font.ITALIC. Έντονη πλάγια: Font.BOLD Font.ITALIC. 23

Γραμματοσειρές (3/3) int size : μέγεθος γραμματοσειράς. 24

Μέθοδοι της κλάσης Font (1/2) getname( ); Επιστρέφει το όνομα της γραμματοσειράς. getstyle( ); Επιστρέφει το στύλ της γραμματοσειράς. getsize( ); Επιστρέφει το μέγεθος της γραμματοσειράς. 25

Μέθοδοι της κλάσης Font (2/2) Bool isplain( ); Επιστρέφει true αν το στυλ της γραμματοσειράς είναι plain, διαφορετικά επιστρέφει false. Bool isbold( ); Επιστρέφει true αν το στυλ της γραμματοσειράς είναι bold, διαφορετικά επιστρέφει false. Bool isitalic ( ); Επιστρέφει true αν το στυλ της γραμματοσειράς είναι italic, διαφορετικά επιστρέφει false. 26

Μέθοδοι των applets κληρονομούμενες από υπερκλάσεις (1/3) Σχήμα 2. Μέθοδοι των applets κληρονομούμενες από υπερκλάσεις, πηγή: διδάσκων (2015). Η κλάση applet, όντας υποκλάση άλλων προκαθορισμένων κλάσεων της Java, κληρονομεί μεθόδους τους. Ο προγραμματιστής μπορεί να συμπεριλάβει στα applets του μεθόδους υπερκλάσεων, με σκοπό τη δημιουργία ενός γραφικού περιβάλλοντος (GUI). (Περισσότερα στη διάλεξη Abstract Windowing Toolkit ). Μεταξύ των μεθόδων συμπεριλαμβάνονται και συναρτήσεις αλλαγής χρωμάτων, καθορισμού γραμματοσειρών κλπ.. 27

Μέθοδοι των applets κληρονομούμενες από υπερκλάσεις (2/3) Ορισμός χρωμάτων προσκηνίου και φόντου: void setforeground(color c); void setbackground(color c); Color getforeground( ); Color getbackground( ); 28

Μέθοδοι των applets κληρονομούμενες από υπερκλάσεις (3/3) Ορισμός γραμματοσειρών: public void setfont ( Font f ); public Font getfont ( ); 29

Παράδειγμα HelloSomeoneApplet.java 30

HelloSomeone.Html αρχείο που καλεί την applet <HTML><HEAD><TITLE>Applet Alignement </TITLE></HEAD> <BODY> <P> <APPLET CODE= HelloAgainApplet.class CODEBASE= classes WIDTH=300 HEIGHT=70 ALIGN= LEFT VSPACE=60 HSPACE 10> <PARAM NAME=name VALUE= Bonzo > Hello to whoever you are </APPLET> To the left of this paragraph is an applet of a small string. <BR CLEAR = ALL> <P> In the next part of this page, we demonstrate </BODY> </HTML> 31

Αποτέλεσμα στον Web Browser του HelloSomeone.Html Σχήμα 3. Αποτέλεσμα στον Web Browser του HelloSomeone.Html, πηγή: διδάσκων (2015). 32

Βιβλιογραφία 1. Java προγραμματισμός, Όγδοη έκδοση, Deitel Paul J., Deitel Harvey M., Εκδόσεις Γκιούρδας Μ.. 2. Απόλυτη Java, Savitch, Εκδόσεις ΙΩΝ, 2008. 3. Πλήρες εγχειρίδιο της Java 6, Lemay Cadenhead, Εκδόσεις Γκιούρδας Μ., Αθήνα 2007. 33

Τέλος Ενότητας