10. Εισαγωγή στα Java Applets
|
|
- Ζεύς Αναστασιάδης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 10. Εισαγωγή στα Java Applets Ολοκληρώνοντας αυτό το κεφάλαιο θα μπορείτε Να περιγράφετε τη διαφορά ανάμεσα σε μία αυτοδύναμη εφαρμογή Java και ένα Java applet Να γράφετε μία HTML tag που θα καλεί ένα Java applet Να περιγράφετε την ιεραρχία κλάσεων του Applet και AWT Να δημιουργείτε το Java applet Hello world Να αναφέρετε και να περιγράφετε τις βασικές μεθόδους ενός applet Να περιγράφετε και να χρησιμοποιείτε ορθά το μοντέλο ζωγραφικής του AWT Να χρησιμοποιείτε μεθόδους applet για να διαβάζετε εικόνες και αρχεία από URLs Να χρησιμοποιείτε tags <param> για να διαμορφώνετε τα applets 10.1 Τι είναι ένα applet Ένα applet είναι ένα κομμάτι κώδικα Java που εκτελείται σε ένα περιβάλλον πλοηγού (browser). Διαφέρει από μία εφαρμογή στον τρόπο με τον οποίο εκτελείται. Μία εφαρμογή ξεκινά όταν καλείται η μέθοδος main(). Αντίθετα ο κύκλος ζωής ενός applet είναι μάλλον περισσότερο πολύπλοκος. Το κεφάλαιο αυτό θα ασχοληθεί με το πώς εκτελείται ένα applet, πώς να το φορτώσετε στο browser και πώς να γράψετε κώδικα για ένα applet Φόρτωμα ενός applet Επειδή ένα applet εκτελείται σε ένα Web browser δεν ξεκινά άμεσα πληκτρολογώντας μία εντολή. Αντ αυτού πρέπει να δημιουργήσετε ένα αρχείο HTML που θα λέει στον browser τι να φορτώσει και πώς να το εκτελέσει. Στη συνέχεια «δείχνετε» στο browser στο URL που καθορίζει το αρχείο HTML. Θα δούμε σε λίγο πώς πρέπει να είναι η μορφή ενός αρχείου HTML Περιορισμοί ασφαλείας σε ένα applet Επειδή τα applets είναι κομμάτια κώδικα που φορτώνεται πάνω από το δίκτυο, αναπαριστούν μία εγγενώς επικίνδυνη κατάσταση. Τι θα συμβεί αν κάποιος γράψει ένα «κακό» πρόγραμμα που διαβάζει το αρχείο με τους κωδικούς σας και το αποστέλλει μέσω internet; Ο τρόπος με τον οποίο η Java αποτρέπει κάτι τέτοιο είναι παρέχοντας μία κλάση SecurityManager που ελέγχει την πρόσβαση σε σχεδόν κάθε κλήση επιπέδου συστήματος στη Java Virtual Machine. Το μοντέλο αυτό ονομάζεται μοντέλο ασφαλείας sandbox η JVM παρέχει ένα sandbox που επιτρέπει στα applets να «παίζουν» όμορφα, αλλά απαγορεύεται να βγουν έξω από το sandbox τους. Το βάθος στο οποίο ελέγχεται η ασφάλεια υλοποιείται σε επίπεδο browser. Οι περισσότεροι browsers (συμπεριλαμβανομένου του Netscape) αποτρέπουν τα ακόλουθα: Εκτέλεση άλλου προγράμματος κατά το χρόνο εκτέλεσης 1
2 Οποιαδήποτε είσοδο/έξοδο σε αρχείο Κλήσεις σε οποιαδήποτε ιθαγενή μέθοδο (native method) Προσπάθειες να ανοίξει ένα socket σε οποιαδήποτε άλλη διεργασία που δε βρίσκεται στον υπολογιστή που παρείχε το applet Παράδειγμα Hello World! Ο πηγαίος κώδικας για το applet HelloWorld (στο πηγαίο αρχείο HelloWorld.java) παρουσιάζεται στη συνέχεια: Sample HelloWorld applet import java.awt.graphics; import java.applet.applet; public class HelloWorld extends Applet { String hw_text; public void init() { hw_text = Hello World ; public void paint(graphics g) { g.drawstring(hw_text, 25, 25); 10.2 Συγγραφή ενός applet Για να γράψετε ένα applet θα πρέπει να δημιουργήσετε μία κλάση που χρησιμοποιεί αυτή τη μορφή: import java.applet.*; public class HelloWorld extends Applet { Για να είναι μία κλάση applet, θα πρέπει να είναι δημόσια, και έτσι το όνομα του αρχείου θα πρέπει να ταιριάζει με το όνομα της κλάσης του applet στην περίπτωση αυτή HelloWorld.java. Επιπρόσθετα, η κλάση θα πρέπει να είναι υποκλάση της κλάσης java.applet.applet Ιεραρχία κλάσης Applet Στην πράξη η κλάση java.applet.applet είναι υποκλάση της java.awt.container. Είναι χρήσιμο να έχετε μία συνολική αίσθηση της ιεραρχίας των κλάσεων Applet και AWT. 2
3 java.lang.object java.awt.component java.awt.button java.awt.container java.awt.textarea java.awt.frame java.awt.panel java.applet.applet Η ιεραρχία δείχνει ότι ένα applet μπορεί να χρησιμοποιηθεί άμεσα ως αρχικό σημείο για ένα AWT layout. Επειδή το applet είναι panel, έχει εξ ορισμού flow layout manager Βασικές μέθοδοι Applet Σε κάθε εφαρμογή το πρόγραμμα ξεκινά από τη μέθοδο main(). Σε ένα applet όμως δεν ισχύει το ίδιο. Ο πρώτος κώδικας που εκτελεί ένα applet είναι αυτός που έχει οριστεί για την αρχικοποίησή του και η συνάρτηση δημιουργίας του. Αφού ολοκληρωθεί η συνάρτηση δημιουργίας, ο browser καλεί μία μέθοδο του applet που ονομάζεται init(). Η μέθοδος init() θα πρέπει να κάνει βασική αρχικοποίηση του applet και στη συνέχεια να ολοκληρωθεί. Αφού ολοκληρωθεί η init() ο browser καλεί μία άλλη μέθοδο που ονομάζεται start(). Θα δούμε τη start() πιο αναλυτικά στη συνέχεια. Αμφότερες οι μέθοδο init() και start() εκτελούνται μέχρι να ολοκληρωθούν πριν «ζωντανέψει» το applet και εξ αιτίας αυτού δεν μπορούν να χρησιμοποιηθούν για να προγραμματίσουμε συμπεριφορά που θα εμφανιστεί στη συνέχεια στο applet. Στην πράξη, σε αντίθεση με τη main() σε μία απλή εφαρμογή, δεν υπάρχει μία μέθοδος που να εκτελείται συνεχώς σε ολόκληρη τη ζωή του applet. Θα δούμε στη συνέχεια πώς αυτό επιτυγχάνεται με χρήση νημάτων, αλλά προς το παρόν, δεν μπορούμε να το κάνουμε Εμφάνιση ενός Applet Ουσιαστικά τα applets είναι γραφικά από τη φύση τους, συνεπώς αν και μπορείτε να κάνετε κλήσεις στην System.out.println(), κανονικά δε θα έπρεπε. Αντ αυτού θέλετε να δημιουργήσετε μία παρουσίαση (display) σε ένα γραφικό περιβάλλον. Μπορείτε να σχεδιάζεται (draw) στην παρουσίαση ενός applet δημιουργώντας μία μέθοδο paint(). Η μέθοδος paint() καλείται από το περιβάλλον του browser όποτε υπάρχει ανάγκη ανανέωσης της παρουσίασης του applet. Αυτό για παράδειγμα συμβαίνει όταν το παράθυρο του browser αποκτά ξανά το αρχικό του μέγεθος, μετά από κάποια ελαχιστοποίησή του. 3
4 Η μέθοδος paint() θα πρέπει να γραφεί έτσι ώστε να λειτουργεί σωστά οποτεδήποτε μπορεί να κληθεί. Αυτό ισχύει γιατί η έκθεση εξαρτάται από το περιβάλλον, και όχι από το πρόγραμμα και συνεπώς συμβαίνει ασύγχρονα Η μέθοδος paint() και τα Graphics Η μέθοδος paint() λαμβάνει ένα όρισμα, το οποίο είναι στιγμιότυπο της κλάσης java.awt.graphics. Μπορείτε να το χρησιμοποιήσετε για να σχεδιάσετε ή να γράψετε κείμενο μέσα στο applet σας. Αυτό που ακολουθεί είναι ένα ελάχιστο παράδειγμα ενός applet, η οποία χρησιμοποιεί τη μέθοδο paint() για να γράψει κείμενο. import java.awt.*; import java.applet.applet; public class HelloWorld extends Applet { public void paint(graphics g) { g.drawstring( Hello World!, 25, 25); Σημείωση Τα αριθμητικά ορίσματα στη μέθοδο drawstring είναι οι συντεταγμένες x και y σε pixel για την αρχή του κειμένου. Οι συντεταγμένες αυτές αναφέρονται στη γραμμή βάσης (baseline) της γραμματοσειράς, συνεπώς αν γράψετε στην y συντεταγμένη μηδέν το αποτέλεσμα θα είναι το μεγαλύτερο μέρος των γραμμάτων σας να βρίσκονται έξω (πάνω) από το χώρο παρουσίασης μόνο ότι γράφεται κάτω από τη γραμμή, π.χ. η «ουρά» στο «μ» θα είναι ορατό Μέθοδοι applet και κύκλος ζωής ενός applet Ο κύκλος ζωής ενός applet είναι λίγο πιο πολύπλοκη απ ό,τι την περιγράψαμε μέχρι τώρα. Υπάρχουν τρεις βασικές μέθοδοι που σχετίζονται με αυτόν τον κύκλο ζωής. Αυτές είναι οι init(), start() και stop() init() Αυτή η συνάρτηση μέλος καλείται όταν δημιουργείται το applet και φορτώνεται για πρώτη φορά σε ένα browser που υποστηρίζει Java (όπως ο Applet Viewer). Το applet μπορεί να χρησιμοποιήσει τη μέθοδο αυτή για να αρχικοποιήσει τιμές δεδομένων. Η μέθοδος αυτή δεν καλείται κάθε φορά που ο browser ανοίγει τη σελίδα που περιέχει το applet, αλλά μόνο την πρώτη φορά start() Η μέθοδος start() καλείται για να δηλώσει στο applet ότι θα πρέπει να «ζωντανέψει». Αυτό συμβαίνει όταν το applet ξεκινά για πρώτη φορά, αφού ολοκληρωθεί η μέθοδος init(). Επίσης συμβαίνει οποτεδήποτε ο browser επανέρχεται στην κατάστασή του μετά από μία κατάσταση όπου είχε γίνει εικονίδιο ή όταν ο browser επιστρέφει στη σελίδα που περιέχει το applet αφού έχουμε μεταφερθεί σε ένα άλλο URL. Αυτό σημαίνει ότι το applet μπορεί να χρησιμοποιήσει τη μέθοδο αυτή για να πραγματοποιήσει εργασίες όπως να ξεκινά ένα animation ή να παίζουν ήχοι. public void start() { 4
5 musicclip.play(); stop() Η μέθοδος stop() καλείται όταν το applet παύει να είναι «ζωντανό». Αυτό συμβαίνει όταν ο browser γίνεται εικονίδιο (iconized) ή όταν ακολουθεί ένα σύνδεσμο σε ένα άλλο URL. Το applet μπορεί να χρησιμοποιήσει τη μέθοδο αυτή για να πραγματοποιήσει εργασίες όπως να σταματήσει το animation. public void stop() { musicclip.stop(); Ουσιαστικά οι μέθοδοι start() και stop() δημιουργούν ένα ζευγάρι, έτσι ώστε η start() να μπορεί να χρησιμοποιηθεί για να προκαλέσει συμπεριφορά σε ένα applet, ενώ η stop() χρησιμοποιείται για να σταματήσει αυτή τη συμπεριφορά Ζωγραφική AWT Επιπρόσθετα στις βασικές μεθόδους του κύκλου ζωής ένα applet έχει σημαντικές μεθόδους που σχετίζονται με την παρουσίασή του. Οι μέθοδοι αυτοί στην πράξη δηλώνονται και τεκμηριώνονται για την κλάση AWT Component και είναι σημαντικό να συμμορφωνόμαστε στο σωστό μοντέλο για την παρουσίαση και χειρισμό με χρήση του AWT. Η ενημέρωση της παρουσίασης γίνεται από διακριτό νήμα στο οποίο θα αναφερόμαστε ως νήμα AWT. Το νήμα αυτό μπορεί να κληθεί για να χειριστεί δύο καταστάσεις οι οποίες σχετίζονται με την ενημέρωση της παρουσίασης. Η πρώτη από τις δύο καταστάσεις είναι η έκθεση (exposure), όπου μέρος της παρουσίασης έχει καταστραφεί και πρέπει να αντικατασταθεί. Αυτό μπορεί να συμβεί οποτεδήποτε και το πρόγραμμά σας θα πρέπει να μπορεί να το αντιμετωπίζει. Η δεύτερη κατάσταση είναι όταν το πρόγραμμα αποφασίζει να ξανασχεδιάσει την παρουσίαση με νέα περιεχόμενα. Αυτό μπορεί να απαιτεί την αφαίρεση πρώτα της παλιάς εικόνας Η μέθοδος paint(graphics g) Ο χειρισμός έκθεσης (exposure handling) γίνεται αυτόματα και έχει ως αποτέλεσμα μία κλήση στη μέθοδο paint(). Χρησιμοποιείται μία διευκόλυνση της κλάσης Graphics, η οποία ονομάζεται clip rectangle, ώστε να βελτιστοποιήσει τη μέθοδο paint ώστε οι ενημερώσεις να μη γίνονται σε ολόκληρη την περιοχή των γραφικών, αλλά μόνο στην περιοχή που καταστράφηκε Η μέθοδος repaint() Από την άλλη, μπορείτε να ενημερώσετε το σύστημα ότι θέλετε να αλλάξετε την παρουσίαση καλώντας τη repaint(). 5
6 Η μέθοδος update(graphics g) H repaint προκαλεί ένα AWT νήμα να καλέσει μία άλλη μέθοδο που ονομάζεται update(). Η μέθοδος update συνήθως συμπεριφέρεται καθαρίζοντας την τρέχουσα παρουσίαση και καλώντας στη συνέχεια την paint(). Το μοντέλο αυτό απαιτεί να έχετε υιοθετήσει μία συγκεκριμένη στρατηγική για τη συντήρηση της παρουσίασής σας: Συντήρηση ενός μοντέλου της παρουσίασης. Αυτό μπορεί να γίνει χρησιμοποιώντας πολλές διαφορετικές προσεγγίσεις. Θα μπορούσατε να χρησιμοποιείται μία απεικόνιση τιμών pixels ή μία τεχνική υψηλότερου επιπέδου, όπως ένα πίνακα σχημάτων. Η μέθοδος paint() σας θα πρέπει να κάνει render την παρουσίαση με βάση μόνο τα περιεχόμενα του μοντέλου. Αυτό τη επαναδημιουργία της παρουσίασης με συνεπή τρόπο όποτε καλείται, και συνεπώς υπάρχει ορθός χειρισμός της έκθεσης. Όταν το πρόγραμμα θέλει να αλλάξει την παρουσίαση θα πρέπει να ενημερώνει το μοντέλο και στη συνέχεια να καλεί τη μέθοδο repaint(), ώστε να καλείται από το νήμα AWT η μέθοδος update(). Σημείωση Μόνο ένα νήμα AWT χειρίζεται όλη τη ζωγραφική των components και επίσης την κατανομή των συμβάντων εισόδου. Εξ αιτίας αυτού, θα πρέπει να αποφεύγετε να σπαταλάτε πολύ χρόνο είτε στην paint() είτε στην update(). Σε εξαιρετικές περιπτώσεις θα χρειαστείτε τη βοήθεια και άλλων νημάτων για να το επιτύχετε. Ο προγραμματισμός νημάτων αποτελεί θέμα άλλου κεφαλαίου. Το διάγραμμα που ακολουθεί παρουσιάζει τον τρόπο με τον οποίο σχετίζονται οι μέθοδοι paint(), update() και repaint(). repaint() Νήμα AWT (σε αναμονή) Έκθεση update() - καθαρισμός περιοχής κλήση paint() paint() 10.5 O appletviewer Ο appletviewer είναι μία εφαρμογή Java η οποία σάς επιτρέπει να εκτελείτε applets χωρίς να χρησιμοποιείτε ένα web browser. 6
7 Σημείωση Οποιοσδήποτε browser με υποστήριξη Java πραγματοποιεί τις ίδιες βασικές λειτουργίες όπως αυτές που θα περιγράψουμε εδώ για το appletviewer Τι είναι ο appletviewer; Συνήθως ένα applet εκτελείται μέσα από ένα Web browser που υποστηρίζει Java, όπως ο HotJava ή ο Netscape Navigator. Όμως, για να απλοποιήσουμε και να επιταχύνουμε τη διαδικασία ανάπτυξης, το JDK περιέχει ένα απλό εργαλείο το οποίο έχει σχεδιαστεί μόνο για να βλέπουμε applets και όχι σελίδες HTML. Το εργαλείο αυτό είναι ο appletviewer. Ο appletviewer διαβάζει HTML από ένα URL που του παρέχεται στη γραμμή εντολής. Σε αυτή την HTML αναμένει να βρει εντολές για να φορτώσει και να εκτελέσει ένα ή περισσότερα applets. Θα αγνοήσει οποιαδήποτε άλλη HTML εντολή και εξ αιτίας αυτού ο appletviewer δεν παρουσιάζει απλή HTML και δεν ενσωματώνει τα applets μέσα σε μία σελίδα κειμένου Κλήση applets με τον appletviewer Ο appletviewer μοιάζει με ένα μικρό browser. Αναμένει ως όρισμα το όνομα ενός αρχείου HTML για να το φορτώσει. Το αρχείο αυτό περιέχει μία tag HTML η οποία καθορίζει τον κώδικα που θα φορτώσει ο appletviewer. <html> <applet code=helloworld.class width=100 height=100> </applet> </html> Ο appletviewer δημιουργεί το χώρο ενός browser, συμπεριλαμβανομένης μίας περιοχής γραφικών, στην οποία θα εκτελεστεί το applet και στη συνέχεια καλεί την κατάλληλη κλάση applet. Στο παράδειγμα αυτό, ο appletviewer φορτώνει μία κλάση με το όνομα HelloWorld και της επιτρέπει να λειτουργεί μέσα στο γραφικό χώρο appletviewer και ιεραρχία Applet Το ακόλουθο διάγραμμα παρουσιάζει την ιεραρχία κληρονομικότητας για τον appletviewer και applets. java.lang.object +- -java.awt.component java.awt.container java.awt.panel java.awt.window +--java.applet.applet java.awt.frame +---sun.applet.appletviewer 7
8 10.6 Χρήση appletviewer Σύνοψη appletviewer [-debug] urls... O appletviewer δέχεται είτε το όνομα ενός αρχείου HTML που περιέχει το tag <applet> ή το όνομα ενός URL σε ένα αρχείου HTML. Αν το HTML αρχείο που θα μεταβιβαστεί στον appletviewer δεν περιέχει ένα έγκυρο <applet> tag, ο appletviewer δε θα κάνει τίποτα. Ο appletviewer δεν παρουσιάζει άλλες HTML tags. Η μόνη έγκυρη επιλογή στο appletviewer είναι η ένδειξη debug, η οποία ξεκινά το applet στο Java debugger, jdb. Για να μπορέσετε να δείτε τον Java πηγαίο κώδικα στο debugger θα πρέπει να μεταγλωττίσετε το Java κώδικά σας με την επιλογή g Παράδειγμα Η εντολή appletviewer που φαίνεται στη συνέχεια ξεκινά το appletviewer $ appletviewer example1.html Αυτό προκαλεί και παρουσιάζει το πιο κάτω μικρό παράδειγμα Η tag applet Σύνταξη Στη συνέχεια παρουσιάζεται η πλήρης σύνταξη της tag applet <applet archive=archivelist code=appletfile.class width=pixels height=pixels [codebase=codebaseurl] [alt=alternatetext] [name=appletinstancename] [align=alignment] [vspace=pixels] [hspace=pixels] > 8
9 [<param name=appletattribute1 value=value>] [<param name=appletattribute2 value=value>]... [alternatehtml] </applet> Περιγραφή archive=archivelist Η προαιρετική αυτή attribute περιγράφει ένα ή περισσότερα αρχεία (archives) που περιέχουν κλάσεις ή άλλους πόρους που θα «προ-φορτωθούν». Οι κλάσεις φορτώνονται χρησιμοποιώντας ένα στιγμιότυπο ενός AppletClassLoader μαζί με το δεδομένο CODEBASE. Τα αρχεία στην archivelist χωρίζονται με «,». code=appletfile.class Η υποχρεωτική αυτή attribute δίνει το όνομα του αρχείου που περιέχει τη μεταγλωττισμένη υποκλάση της Applet που αντιστοιχεί στο συγκεκριμένο applet. Θα μπορούσε να είναι επίσης της μορφής apackage.appletfile.class. Σημείωση Το αρχείο αυτό είναι σχετικό με βάση το URL του HTML αρχείου από το οποίο το φορτώνετε. Δεν μπορεί να περιλαμβάνει ένα όνομα διαδρομής. Για να αλλάξετε το URL βάσης του applet, δείτε την tag codebase πιο κάτω. width=pixels height=pixels Οι υποχρεωτικές αυτές attributes δίνουν το αρχικό πλάτος και ύψος (σε pixels) της περιοχής παρουσίασης του applet, χωρίς να υπολογίζονται οποιαδήποτε παράθυρα ή dialogs εμφανίζει το applet. codebase=codebaseurl Η προαιρετική αυτή attribute καθορίζει το URL βάσης για το applet τον κατάλογο που περιέχει τον κώδικα του applet. Αν δεν έχει καθοριστεί αυτή η attribute χρησιμοποιείται το URL του κειμένου. alt=alternatetext Η προαιρετική αυτή attribute καθορίζει οποιοδήποτε κείμενο θα πρέπει να παρουσιάζεται αν ο browser κατανοεί το tag applet αλλά δεν μπορεί να εκτελέσει Java applets. name=appletinstancename Η προαιρετική αυτή attribute καθορίζει ένα όνομα για το στιγμιότυπο του applet, ώστε τα applets που βρίσκονται στην ίδια σελίδα να μπορούν να βρουν το ένα το άλλο (και να επικοινωνούν μεταξύ τους). align=alignment Η προαιρετική αυτή attribute καθορίζει τη στοίχιση του applet. Οι δυνατές τιμές είναι οι ίδιες με αυτές της tag IMG στη βασική HTML: left, right, top, texttop, middle, absmiddle, baseline, bottom και absbottom. vspace=pixels hspace=pixels Οι προαιρετικές αυτές attributes καθορίζουν το πλήθος των pixels πάνω και κάτω από το applet (vspace) και σε κάθε πλευρά του applet (hspace). Αντιμετωπίζονται με τον ίδιο τρόπο όπως και οι attributes vspace και hspace της tag IMG. <param name=appletattribute1 value=value> Αυτή η tag είναι ο μόνος διαθέσιμος τρόπος για να ορίσουμε attributes συγκεκριμένες στο applet. Τα applets έχουν πρόσβαση στα attributes τους με τη μέθοδο getparameter(). 9
10 Οι browsers που δεν υποστηρίζουν Java θα παρουσιάζουν όλη την κανονική HTML που παρουσιάζεται ανάμεσα στα tags <applet> και </applet>. Οι browsers που υποστηρίζουν Java αγνοούν την κανονική HTML που βρίσκεται ανάμεσα σε αυτά τα tags. To URL που καθορίζετε ως όρισμα στον appletviewer θα πρέπει να περιέχει εντολές για τη φόρτωση ενός applet. Οι εντολές αυτές έχουν τη μορφή ενός applet tag το οποίο στην πιο απλή μορφή του φαίνεται ως εξής: <applet code=helloworld.class width=100 height=100> </applet> Σημειώστε ότι η γενική μορφή αυτού του tag είναι η ίδια όπως και όλων των άλλων HTML, με χρήση των συμβόλων < και > για να διαχωριστούν οι εντολές. Όλα τα τμήματα που παρουσιάζονται εδώ είναι απαραίτητα, πρέπει να έχετε τόσο το <applet > όσο και το </applet>, και στο τμήμα <applet > πρέπει να καθορίζετε την καταχώρηση για κώδικα και ύψος και πλάτος. Σημείωση Γενικά, θα πρέπει να αντιμετωπίζετε τα applets σα να είναι σταθερού μεγέθους, λαμβάνοντας το μέγεθος όπως καθορίζεται στο applet tag. Θα βρείτε στη συνέχεια ότι είναι πιθανό υπό ορισμένες συνθήκες να αλλάζετε το μέγεθος ενός applet, αλλά τα αποτελέσματα δεν είναι πάντα καλά Επιπρόσθετες διευκολύνσεις Applet Υπάρχουν διαθέσιμες αρκετές επιπλέον διευκολύνσεις σε ένα applet και θα τα παρουσιάσουμε εδώ. Όλα τα προγράμματα Java έχουν πρόσβαση σε δικτυακές διευκολύνσεις, χρησιμοποιώντας τις κλάσεις του πακέτου java.net. Τα applets έχουν επιπρόσθετες μεθόδους που τους επιτρέπουν να καθορίζουν πληροφορία σχετικά με το περιβάλλον του browser στο οποίο έχουν ξεκινήσει. Η κλάση java.net.url περιγράφει URLs και μπορεί να χρησιμοποιηθεί για να συνδεθεί σε αυτά. Δύο μέθοδοι στην κλάση Applet μπορούν να καθορίσουν την τιμή σημαντικών URLs. getdocumentbase() επιστρέφει ένα αντικείμενο URL που περιγράφει την τρέχουσα σελίδα του browser. getcodebase() επιστρέφει ένα αντικείμενο URL που περιγράφει την πηγή του κώδικα του ίδιου του applet. Συχνά αυτό είναι το ίδιο με την τρέχουσα σελίδα, αλλά αυτό δεν είναι απαραίτητο. Χρησιμοποιώντας το αντικείμενο URL ως αρχικό σημείο μπορείτε να φέρετε στο applet σας εικόνες και ήχους. getimage(url base, String target) φέρνει μία εικόνα από το αρχείο με όνομα target το οποίο βρίσκεται στο URL που καθορίζει η base. Η επιστρεφόμενη τιμή είναι ένα στιγμιότυπο της κλάσης Image. getaudioclip(url base, String target) φέρνει έναν ήχο από το αρχείο με όνομα target το οποίο βρίσκεται στο URL που καθορίζει η base. Η επιστρεφόμενη τιμή είναι ένα στιγμιότυπο της κλάσης AudioClip. 10
11 10.9 Μία απλή δοκιμή Image Το επόμενο applet θα φέρει το αρχείο εικόνας graphics/joe.surf.yellow.small.gif σχετικό ως προς τη διαδρομή καταλόγου που επιστρέφει η μέθοδος getdocumentbase και θα το εμφανίσει στον appletviewer. HelloWorld extended to draw an image Assumes existence of graphics/joe.surf.yellow.small.gif import java.awt.*; import java.applet.applet; public class HwImage extends Applet { Image duke; public void init() { duke = getimage(getdocumentbase(), graphics/joe.surf.yellow.small.gif ); public void paint(graphics g) { g.drawimage(duke, 25, 25, this); Τα ορίσματα της μεθόδου drawimage() είναι: 1. Το αντικείμενο Image που πρόκειται να σχεδιαστεί 2. Η συντεταγμένη X για τη σχεδίαση 3. Η συντεταγμένη Y για τη σχεδίαση 4. Ο παρατηρητής εικόνας (image observer). Ένας παρατηρητής εικόνας είναι κάτι που πρέπει να γνωρίζει αν άλλαξε η εικόνα. Μία εικόνα που φορτώνεται με το getimage() θα αλλάξει με το χρόνο αφού γίνει πρώτη φορά η κλήση. Αυτό συμβαίνει γιατί η φόρτωση γίνεται στο παρασκήνιο (background). Κάθε φορά που φορτώνεται μεγαλύτερο μέρος της εικόνας καλείται ξανά η μέθοδος paint(). Αυτό γίνεται γιατί το applet έχει δηλωθεί ως παρατηρητής μεταβιβαζόμενος ως το τέταρτο όρισμα της κλήσης drawimage() AudioClips Η γλώσσα Java έχει επίσης μεθόδους για να παίζει audio clips. Οι μέθοδοι αυτές βρίσκονται στην κλάση java.applet.audioclip. Προφανώς, για να παίξετε ήχο θα πρέπει να έχετε το κατάλληλο υλικό στον υπολογιστή σας. 11
12 Παίζοντας ένα clip Ο πιο απλός τρόπος για να ακούσετε ένα audio clip είναι μέσω της μεθόδου play της Applet: play(url sounddirectory, String soundfile); ή πιο απλά play(url soundurl); Ένα σύνηθες URL για να χρησιμοποιήσετε με τη μέθοδο play() είναι ο κατάλογος όπου βρίσκονται τα αρχεία HTML. Η πρόσβαση στη θέση αυτή γίνεται μέσω της μεθόδου getdocumentbase(): play(getdocumentbase(), bark.au ); Για να δουλέψει αυτό το αρχείο HTML και το αρχείο bark.au πρέπει να βρίσκονται στον ίδιο κατάλογο Μία απλή δοκιμή ήχου Το επόμενο applet εκτυπώνει το μήνυμα Audio Test στον appletviewer και στη συνέχεια παίζει ένα αρχείο ήχου sounds/cuckoo.au HelloWorld extended to play an Audio sound Assume existence of sounds/cuckoo.au file import java.awt.graphics; import java.applet.applet; public class HwAudio extends Applet { public void paint(graphics g) { g.drawstring( Audio Test, 25, 25); play(getdocumentbase(), sounds/cuckoo.au ); Επανάληψη με ένα audio clip Μπορείτε επίσης να αντιμετωπίσετε ένα audio clip ως εικόνα. Μπορείτε να τα φορτώσετε και να τα παίξετε αργότερα Φόρτωση ενός Audio Clip Για να φορτώσετε ένα audio clip, χρησιμοποιήστε τη μέθοδο getaudioclip από την κλάση java.applet.applet: AudioClip sound; sound = getaudioclip(getdocumentbase(), bark.au ); Από τη στιγμή που ένα clip έχει φορτωθεί, μπορείτε να χρησιμοποιήσετε μία από τις τρεις μεθόδους που σχετίζονται μαζί τους: play, loop ή stop. 12
13 Παίξιμο ενός Audio Clip Για να παίξουμε ένα φορτωμένο audio clip χρησιμοποιούμε στη μέθοδο play της κλάσης java.applet.audioclip sound.play(); Για να ξεκινήσουμε ένα clip να παίζει και να το αναγκάσουμε να επαναλαμβάνεται (αυτόματα) χρησιμοποιούμε τη μέθοδο loop της κλάσης java.applet.audioclip sound.loop(); Σταμάτημα ενός Audio Clip Για να σταματήσουμε ένα clip που παίζεται χρησιμοποιούμε τη μέθοδο stop στην κλάση java.applet.audioclip sound.stop(); Μία απλή δοκιμή επανάληψης Ιδού ένα παράδειγμα που κάνει αυτόματη επανάληψη σε ένα φορτωμένο audio clip HelloWorld extended to loop an audio track Assumes existence of sounds/cuckoo.au import java.awt.graphics; import java.applet.*; public class HwLoop extends Applet { AudioClip sound; public void init() { sound = getaudioclip(getdocumentbase(), sounds/cuckoo.au ); public void paint(graphics g) { g.drawstring( Audio test, 25, 25); public void start() { sound.loop(); public void stop() { sound.stop(); 13
14 10.14 Είσοδος από το ποντίκι Ένα από τα πιο χρήσιμα χαρακτηριστικά που υποστηρίζει η γλώσσα Java είναι η άμεση αλληλεπίδραση. Μία εφαρμογή μπορεί να δίνει σημασία στο ποντίκι και να αντιδρά σε αλλαγές στο ποντίκι. Το μοντέλο συμβάντων στο JDK 1.1 υποστηρίζει έναν τύπο συμβάντος για κάθε αλληλεπίδρασης. Τα συμβάντα ποντικιού λαμβάνονται από κλάσεις που υλοποιούν τη διεπαφή MouseListener, η οποία λαμβάνει συμβάντα για: mouseclicked όταν έχει γίνει κλικ στο ποντίκι (το πλήκτρο του ποντικιού έχει πιεστεί και έχει αφεθεί σε μία κίνηση). mouseentered όταν το ποντίκι έχει μπει σε ένα component mouseexited όταν το ποντίκι αφήνει ένα component mousepressed όταν το πλήκτρο του ποντικιού είναι πατημένο mousereleased όταν το πλήκτρο του ποντικιού έχει εν συνεχεία αφεθεί Μία απλή δοκιμή με το ποντίκι Το επόμενο πρόγραμμα παρουσιάζει τη θέση ενός κλικ με το ποντίκι μέσα σε ένα applet. HelloWorld extended to watch for mouse input HelloWorld! is reprinted at the location of the mouse click. import java.awt.*; import java.awt.event.*; import java.applet.applet; public class HwMouse extends Applet implements MouseListener { int mousex = 25; int mousey = 25; Register the mousepressed event public void init () { addmouselistener(this); public void paint(graphics g) { g.drawstring( Hello world!, mousex, mousey); public void mousepressed(mouseevent evt) { mousex = evt.getx(); 14
15 mousey = evt.gety(); repaint(); We are not using the other mouse events public void mouseclicked(mouseevent evt) { public void mouseentered(mouseevent evt) { public void mouseexited(mouseevent evt) { public void mousereleased(mouseevent evt) { Ανάγνωση παραμέτρων Στο αρχείο HTML η tag applet μπορεί να μεταβιβάσει πληροφορία διαμόρφωσης (configuration) στο applet. Αυτό γίνεται χρησιμοποιώντας την tag <param>. Για παράδειμα: <applet code=configureme.class width=100 heigh=100> <param name=image value=duke.gif> </applet> Μέσα στο applet μπορείτε να χρησιμοποιήσετε τη μέθοδο getparameter() για να διαβάσετε τις τιμές αυτές import java.awt.*; import java.applet.*; public class DrawAny extends Applet { Image im; public void init() { URL mypage = getdocumentbase(); String imagename = getparameter( image ); im = getimage(mypage, imagename); public void paint(graphics g) { g.drawimage(im, 0, 0, this); Αν το όνομα της παραμέτρου δεν μπορεί να βρεθεί σε κάποια tag <param> μέσα στο ζεύγος <applet> </applet>, τότε η getparameter() επιστρέφει null. Ένα πρόγραμμα παραγωγής θα πρέπει να το αντιμετωπίσει με καλό τρόπο (gracefully). Ο τύπος παραμέτρου είναι πάντα String. Αν τη χρειάζεστε με άλλον τύπο πρέπει να τη μετατρέψετε. Για παράδειγμα για να διαβάσετε μία int παράμετρο: int speed = Integer.parseInt(getParameter( speed )); 15
16 Οι παράμετροι, εξ αιτίας της φύσης της HTML δεν είναι case sensitive. Είναι όμως καλό στυλ να αποφασίσετε και να χρησιμοποιείτε είτε μόνο κεφαλαία είτε μόνο πεζά, όπως παρουσιάζονται Κώδικας που λειτουργεί με δύο τρόπους Είναι δυνατό να δημιουργήσουμε κώδικα στη Java μέσα στο ίδιο αρχείο που να μπορεί να λειτουργεί είτε ως εφαρμογή Java είτε ως Java applet. Υπάρχει λίγη παραπάνω δουλειά στην κατανόηση του τι απαιτεί η εφαρμογή, αλλά από τη στιγμή που έχει δημιουργηθεί ο κώδικας applet/εφαρμογής μπορεί να χρησιμοποιηθεί ως πρότυπο για πιο πολύπλοκα προγράμματα Applet/Εφαρμογή Στη συνέχεια δίνεται το πρόγραμμα Hello World ως applet/εφαρμογή Example of Hello World that is both an applet and an application import java.applet.applet; import java.awt.*; import java.awt.event.*; public class AppletApp extends Applet { An application will require a main() public static void main (String args[]) { Create a Frame to house the applet Frame frame = new Frame( Application ); Create an instance of the class (applet) AppletApp app = new AppletApp(); Add it to the center of the frame frame.add( Center, app); frame.setsize(200, 200); frame.validate(); frame.setvisible(true); Register the AppletApp class as the listener for a Window Destroy event frame.addwindowlistener(new WindowControl(app)); Call the applet methods app.init(); app.start(); end main 16
17 public void paint(graphics g) { g.drawstring( Hello World, 25, 25); public void destroy () { System.exit(0); Class used to control the applet window class WindowControl extends WindowAdapter { Applet c; public WindowControl (Applet c) { this.c = c; public void windowclosing(windowevent e) { c.destroy(); Εργασίες Επιπέδου 1: Γράψτε ένα applet 1. Ξεκινήστε ένα καινούριο παράθυρο Shell ή Command Window 2. Χρησιμοποιώντας έναν text editor πληκτρολογήστε το πρόγραμμα HwMouse.java 3. Τροποποιήστε το πρόγραμμα ώστε να επαναλαμβάνει τρία διαφορετικά μηνύματα καθώς κάνετε κλικ μέσα στο applet. 4. Μεταγλωττίστε το πρόγραμμα HelloWorld.java $ javac HwMouse.java 5. Χρησιμοποιώντας έναν text editor, δημιουργήστε ένα αρχείο HwMouse.html με ένα tag <applet> για να καλέσετε το πρόγραμμα HwMouse.class 6. Ελέγξτε το applet σας με την εντολή appletviewer $ appletviewer HwMouse.html Επιπέδου 2: Ομόκεντρα τετράγωνα 1. Δημιουργήστε ένα applet που παράγει μία σειρά από ομόκεντρα τετράγωνα (ή ομόκεντρους κύκλους) όπως οι επόμενοι 17
18 2. Προσπαθήστε να κάνετε κάθε τετράγωνο (ή κύκλο) διαφορετικού χρώματος: αν κάνετε import την κλάση java.awt.color μπορείτε να προσθέσετε χρώμα στα Java applets με την μέθοδο setcolor: import java.awt.color;... public void paint(graphics g) { g.setcolor(color.blue); g.drawline(5, 5, 50, 50); Επιπέδου 3: Java Rollover Applet 1. Γράψτε ένα applet που θα παρουσιάζει μία εικόνα σε μία θέση του ποντικιού μαζί με έναν ήχο όταν το ποντίκι περνάει πάνω από την περιοχή της εικόνας. 2. Όταν το ποντίκι κάνει κλικ στην εικόνα βάλτε μία άλλη εικόνα ή έναν άλλο ήχο. 18
HelloApplet. Παύλος Εφραιμίδης Java Applets 1
HelloApplet Παύλος Εφραιμίδης pefraimi@ee.duth.gr Java Applets 1 Applets Τα Applets είναι προγράμματα Java που μπορούν να εκτελεστούν μέσα στο περιβάλλον ενός Browser (Firefox, Internet Explorer, Netscape,
Διαβάστε περισσότεραηµιουργία ιαλογικών Προγραµµάτων για το Web
ηµιουργία ιαλογικών Προγραµµάτων για το Web Βοηθητικές Εφαρµογές (). Οι βασικές µέθοδοι των Βοηθητικών Εφαρµογών. Η µέθοδος init(). Οι µέθοδοι start() και stop(). Η µέθοδος paint(). Η µέθοδος destroy().
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 5: Applets και Γραφικά Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΥποστηρικτικό υλικό Σημειώσεις
ΔΙΑΔΙΚΤΥA : Υπηρεσίες, Τεχνολογία, Εφαρμογές Τμήμα Πληροφορικής Α.Π.Θ. Υποστηρικτικό υλικό Σημειώσεις Διδάσκοντες : Α. Βακάλη Γ. Παπαδημητρίου Εαρινό εξάμηνο 2000 2001 ΜΕΡΟΣ ΙΙ J A V A ΔΙΑΔΙΚΤΥA : Υπηρεσίες,
Διαβάστε περισσότερα8. Το μοντέλο συμβάντων του AWT
8. Το μοντέλο συμβάντων του AWT Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να γράφετε κώδικα που θα αντιμετωπίζει συμβάντα που θα συμβαίνουν στη διεπαφή με το χρήστη Να χρησιμοποιείτε τις κατάλληλες διεπαφές
Διαβάστε περισσότερα6. Εξαιρέσεις στη γλώσσα Java
6. Εξαιρέσεις στη γλώσσα Java Με το τέλος αυτού του κεφαλαίου θα μπορείτε: Να ορίζετε εξαιρέσεις Να εξηγείτε γιατί είναι σημαντικός ο χειρισμός των εξαιρέσεων Να γράφετε κώδικα για να συλλαμβάνετε εξαιρέσεις
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΜΙΚΡΟΕΦΑΡΜΟΓΕΣ (APPLETS)
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΜΙΚΡΟΕΦΑΡΜΟΓΕΣ (APPLETS) ΕΙΣΑΓΩΓΗ ΣΤΑ APPLETS Ένα applet είναι ένα πρόγραμμα Java που τρέχει σε ένα πρόγραμμα περιήγησης στο Web (web browser). Ένα applet
Διαβάστε περισσότεραΜικροεφαρμογές (Applets)
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #9 η : Μικρο εφαρμογές (Applets), Γραφικά Γαβαλάς Δαμιανός dgavalas@aegean.gr Μικροεφαρμογές (Applets) Γενικά στην πληροφορική, ένα applet είναι μια
Διαβάστε περισσότεραB. Ενσωμάτωση Ιθαγενών Μεθόδων
B. Ενσωμάτωση Ιθαγενών Μεθόδων Στο τέλος αυτού του κεφαλαίου θα μπορείτε: Να δημιουργείτε κώδικα Java που θα φορτώνει βιβλιοθήκες και θα καλεί ιθαγενείς μεθόδους (native methods). Να χρησιμοποιείτε τη
Διαβάστε περισσότεραΤο πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.
Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει
Διαβάστε περισσότερα1. Ξεκινώντας. 1.1 Τι είναι η Java. PDF created with FinePrint pdffactory Pro trial version
1. Ξεκινώντας Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να περιγράψετε τα κύρια χαρακτηριστικά της γλώσσας Java Να περιγράψετε τη Java Virtual Machine Να περιγράψετε πώς λειτουργεί ο μηχανισμός «συλλογής
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη
Διαβάστε περισσότερα2 ο Εργαστήριο Αλληλεπίδραση και Animation
2 ο Εργαστήριο Αλληλεπίδραση και Animation Τα προγράμματα που έχουμε δει μέχρι τώρα εκτελούν τον κώδικά τους μία φορά και το πρόγραμμα σταματάει. Ένα πρόγραμμα που δημιουργεί animation ή ανταποκρίνεται
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 1: Εισαγωγή Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΕισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών
Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας
Διαβάστε περισσότερα6.1 Εισαγωγή. 6.2 Ασφάλεια
6.1 Εισαγωγή Ενώ οι εφαρµογές στην Java εκτελούνται από έναν διερµηνευτή, οι µικροεφαρµογές (applets) εκτελούνται από έναν φυλλοµετρητή (browser εξεταστή) του διαδικτύου όπως τον Netscape Navigator και
Διαβάστε περισσότεραΕργαστήριο 1-1 η Άσκηση - Ανάλυση
Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε εφαρμογή σε Java Swing με χρήση του IDE NetBeans όπου θα παρουσιάζεται ποιο κουμπί πατήθηκε. Η εφαρμογή θα μοιάζει ως εξής: Πρώτο Βήμα: Αρχική
Διαβάστε περισσότεραΓενικά (για τις γραπτές εξετάσεις)
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #12 η : Επανάληψη Γαβαλάς Δαμιανός dgavalas@aegean.gr Γενικά (για τις γραπτές εξετάσεις) Δεν υπάρχει αυστηρά ορισμένη «ύλη εξετάσεων» (καθώς δεν έχετε
Διαβάστε περισσότερα2.1 Αντικειµενοστρεφής προγραµµατισµός
2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί
Διαβάστε περισσότεραΤι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;
Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class
Διαβάστε περισσότερα4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος
4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος Μεταβλητές Συστήματος Η Processing χρησιμοποιεί κάποιες μεταβλητές συστήματος, όπως τις ονομάζουμε, για να μπορούμε να παίρνουμε πληροφορίες από το
Διαβάστε περισσότεραΕργαλεία του JDK. Β.1 Εργαλεία του JDK. Β.2 Μεταγλωττιστής javac. Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω.
Εργαλεία του JDK Β.1 Εργαλεία του JDK Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω. O µεταγλωττιστής (compiler) της Java javac. O διερµηνευτής (interpreter) της Java java. Το υπεύθυνο εργαλείο για
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING Swing Τα GUIs (Graphical User Interfaces) είναι τα συνηθισμένα interfaces που χρησιμοποιούν παράθυρα, κουμπιά, menus,
Διαβάστε περισσότεραΣχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java
Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή
Διαβάστε περισσότεραTEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)
TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί
Διαβάστε περισσότεραΑντικειµενοστρεφής Προγραµµατισµός
16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr 1 Δομημένος προγραμματισμός έναντι αντικειμενοστρεφούς
Διαβάστε περισσότεραJAVA TUTORIAL ΠΕΡΙΕΧΟΜΕΝΑ. ΚΕΦΑΛΑΙΟ 1. Τί κάνει τη Java να ξεχωρίζει; Εγκαθιστώντας τη Java
JAVA TUTORIAL Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Εργαστήριο Παράλληλης Κατανεμημένης Επεξεργασίας ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1. Τί κάνει τη Java να ξεχωρίζει; Εγκαθιστώντας τη Java ΚΕΦΑΛΑΙΟ
Διαβάστε περισσότεραΕισαγωγή στη γλώσσα προγραμματισμού Java 69
Εισαγωγή στη γλώσσα προγραμματισμού Java 69 9. Animation σε Java 9.1 Γενικά περί Animation Ένας από τους καλύτερους τρόπους για να γίνει ένα πρόγραμμα σε Java ή μια σελίδα που τρέχει Java applet πιο ελκυστική,
Διαβάστε περισσότεραHelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1
HelloWorld Παύλος Εφραιμίδης Java Το πρόγραμμα HelloWorld 1 Το πρόγραμμα HelloWorld.java Σχόλια στη Java /** * The HelloWorld class */ class HelloWorld { public static void main(string[] args) { System.out.println("Hello
Διαβάστε περισσότερα3D FLASH ANIMATOR (3DFA)
3D FLASH ANIMATOR (3DFA) Εισαγωγή Τα βασικά στοιχεία του προγράµµατος 3DFA είναι οι ταινίες (movies), τα στοιχεία (elements), τα keyframes, τα γεγονότα (events) και οι ενέργειες (actions). Ταινίες (movies)
Διαβάστε περισσότεραΣυνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010
Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #18
Week 12: GUIs with Swing Προγραμματισμός ΓΠΕ: ανασκόπηση Εισαγόμενα πακέτα Java Διαλεξη #18: Γραφικά Περιβάλλοντα Επικοινωνίας Java με Swing «Στήσιμο»του αυτόνομου παράθυρου [frame] Συστατικά [components]
Διαβάστε περισσότερα5. Τα βασικά των Applets στην Java
Εισαγωγή στη γλώσσα προγραμματισμού Java 33 5. Τα βασικά των Applets στην Java Στην Java τα Applets εκτελούνται μέσα από κάποιον Java WWW Browser. Η αναφορά σε ένα Applet γίνεται σε μια WEB σελίδα μέσω
Διαβάστε περισσότεραpublic void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);
Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας
Διαβάστε περισσότεραΕπαναληπτικό φύλλο εργασίας 07/04/2009
Επαναληπτικό φύλλο εργασίας 07/04/2009 Άσκηση 1 η Θέλουμε να κάνουμε ένα πρόγραμμα που θα υπολογίζει τον τελικό βαθμό ενός μαθητή που συμμετέχει σε πανελλαδικές εξετάσεις. Ο προφορικός του βαθμός εάν διαφέρει
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C
ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ Java 2
Προγραµµατισµός ΙΙ Java 2 Γραφικά Γραφικά Τα γραφικά µπορούν να προσαρτηθούν τόσο σε προγράµµατα που υποστηρίζουν γραφικό περιβάλλον εργασίας: Σε µικροεφαρµογές Σε παραθυρικές εφαρµογές Και ΟΧΙ σε εφαρµογές
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές τύπων, δημιουργία τυχαίων αριθμών, λήψη εισόδου από χρήστη Γαβαλάς Δαμιανός dgavalas@aegean.gr Λογικά
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C
ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει
Διαβάστε περισσότερα2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008
Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές τύπων, δημιουργία τυχαίων αριθμών, λήψη εισόδου από χρήστη Λογικά λάθη public class ShowLogicErrors
Διαβάστε περισσότεραΑντικειµενοστραφής Προγραµµατισµός
Κλάσεις Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικείµενα Ιεραρχία κλάσεων Κλάσεις. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του
Διαβάστε περισσότεραΜέρος 2ο (Συγχωνεύοντας Multimedia & Animation)
Μέρος 2ο (Συγχωνεύοντας Multimedia & Animation) Timeline Menu Timeline Behaviors Animated pop-up menu Προσθήκη video στην ιστοσελίδα Media players Embedding Videos Ιδιότητες embeding video Προσθέτοντας
Διαβάστε περισσότεραΚλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για
Διαβάστε περισσότερα14. Δικτύωση με Java Δικτύωση με Java Sockets Δημιουργία της σύνδεσης Διευθυνσιοδότηση της σύνδεσης
14. Δικτύωση με Java Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να δημιουργείτε έναν ελάχιστο εξυπηρέτη TCP/IP σε Java Να δημιουργείτε έναν ελάχιστο εξυπηρετούμενο TCP/IP σε Java Να κατανοείτε πώς υλοποιούνται
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 8: Java Swing Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΤο παρακάτω πρόγραμμα ορίζει δυο κλάσεις την SimpleThread και την TwoThreadsTest:
Εισαγωγή στη γλώσσα προγραμματισμού Java 41 6. Threads Πολλές γλώσσες προγαμματισμού όπως και η Java διαθέτουν εργαλεία για την υλοποίηση threads στα προγράμματά τους. Αυτές οι γλώσσες καλούνται multithreading
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 4: JAVA: ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ, ΓΡΑΦΙΚΑ, APPLETS Γραφικά, Java Applets ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής
Διαβάστε περισσότεραWeek 12: GUIs with Swing
Week 12: GUIs with Swing Προγραµµατισµός ΓΠΕ: ανασκόπηση Εισαγόµενα πακέτα Java Εβδοµάδα 12: Γραφικά Περιβάλλοντα Επικοινωνίας Java µε Swing «Στήσιµο»του αυτόνοµου παράθυρου [frame] Συστατικά [components]
Διαβάστε περισσότεραΟρισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα
ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων
Διαβάστε περισσότεραΟδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word
Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Επειδή οι μεταγενέστερες εκδόσεις του Word δεν περιλαμβάνουν στο μενού τη δυνατότητα δημιουργίας πολλαπλών
Διαβάστε περισσότερα7. Ανάπτυξη GUI σε Java
7. Ανάπτυξη GUI σε Java Όταν ολοκληρώσετε αυτό το κεφάλαιο, θα μπορείτε: Να περιγράφετε το πακέτο AWT και τις συνιστώσες του. Να εξηγείτε τους containers (περιέκτες), components (συνιστώσες) και layout
Διαβάστε περισσότεραΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Στην Java εκτός από τις κλασικές εφαρμογές μπορούμε να δημιουργήσουμε και άλλους δύο τύπους εφαρμογών: τα Applets, τα οποία τρέχουν μέσα από κάποιο φυλλομετρητή (browser) και τρέχουν
Διαβάστε περισσότεραΔραστηριότητα 1. Προγραμματίζω τον υπολογιστή (10 ώρες).
Προγραμματίζω τον υπολογιστή (10 ώρες). Δραστηριότητα 1 Στόχος της δραστηριότητας είναι να δημιουργήσουμε μια απλή εφαρμογή η οποία θα περιέχει ένα κουμπί και μια εικόνα μιας γάτας. Όταν ο μαθητής πατήσει
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 6: Threads Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΚλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα
Αντικειµενοστραφής Προγραµµατισµός Αντικείµενα Ιεραρχία κλάσεων. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του this και του super Αντικειµενοστραφής
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΠρογραμματισμός ΙI (Θ)
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES Κων. Κόκκινος Αντικειμενοστραφής Προγραμματισμός Η ιδέα του αντικειμενοστραφούς προγραμματισμού Αυτόνομες οντότητες Στιγμιότυπα οντοτήτων Παράδειγμα
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2
Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Διαβάστε περισσότεραΓραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites
Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites Σκοπός της 10ης άσκησης είναι να μάθουμε να χρησιμοποιούμε sprites και να φτιάξουμε ένα παιχνίδι που χρησιμοποιεί συγκρούσεις. Θα δούμε επίσης μερικά
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 16. Χρησιμοποιώντας τον Αποσφαλματιστή (Debugger) του Eclipse
ΕΡΓΑΣΤΗΡΙΟ 16 Χρησιμοποιώντας τον Αποσφαλματιστή (Debugger) του Eclipse 1. Δημιουργήστε ένα νέο project και ενσωματώστε το πρόγραμμα Fibonacci.java. 2. Βεβαιωθείτε ότι μεταγλωττίζει σωστά. Σχήμα 1: Adding
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το
Διαβάστε περισσότεραΚλάσεις στην Python. Δημιουργία κλάσεων
Κλάσεις στην Python Στον προγραμματισμό γενικά προσπαθούμε να αποφεύγουμε τις επαναληπτικές εργασίες. Προσπαθούμε να γράφουμε κώδικα μία φορά και να τον χρησιμοποιούμε ξανά. Η αποφυγή της επανάληψης κώδικα
Διαβάστε περισσότεραΑνάπτυξη Plugins για το AgentSheets
Ανάπτυξη Plugins για το AgentSheets Thought Amplifier AgentSheets Ανάπτυξη Plugins AgentSheets 2.5 Συγγραφείς Τεκµηρίωσης: Alexander Repenning και Ronald Sudomo Εξελληνισµός Τεκµηρίωσης: Λίνος Βίγκλας,
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors Μαθήματα από το lab Ένα πρόγραμμα αποτελείται από διάφορες κλάσεις και αντικείμενα αυτών των κλάσεων. Μία από τις κλάσεις
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για τον πίνακα είπαμε ότι
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός
Εξάμηνο Μάθημα Τίτλος 2013 2014 Εαρινό Αντικειμενοστραφής Προγραμματισμός Applets Α. Ύλη εργαστηρίου 6.1 Applets 6.2 Μέθοδοι start, init, paint, stop και destroy 6.3 Γραφικά 6.4 Χρώματα 6.5 Σχήματα Προετοιμασία
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος
Διαβάστε περισσότεραΒυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010
Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010 Δημιουργία ενός απλού παιχνιδιού με το Gamemaker (μετάφραση από το http://www.stuffucanuse.com/downloads/gamemaker-introductionlessons/free_game_downloads_gamemaker.htm)
Διαβάστε περισσότεραΔημιουργία μιας εφαρμογής Java με το NetBeans
Δημιουργία μιας εφαρμογής Java με το NetBeans Για να δημιουργήσετε μια εφαρμογή Java πρέπει να ακολουθήσετε τα εξής βήματα : Αρχικά πρέπει να δημιουργηθεί ένα project το οποίο θα περιέχει όλα τα αρχεία
Διαβάστε περισσότεραAbstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Αφαιρέσεις στη Java Abstract μέθοδοι και abstract κλάσεις Interfaces (=διασυνδέσεις, διεπαφές) Instanceof Παραδείγματα κώδικα Αφηρημένες
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6
Ανασκόπηση Μια εφαρµογή Java είναι ένα σύνολο από συνεργαζόµενες κλάσεις Εβδοµάδα 2: Αντικείµενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή στον Προγραµµατισµό,,, Slide 2 Ανασκόπηση:
Διαβάστε περισσότερα12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006)
exercise 6new_10 12/5/2008 12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006) 12.6.1. Περιγραφή Θεωρήστε την γραφική διεπαφή της αριθµοµηχανής των MS Windows. Μια παρόµοια διεπαφή (δες
Διαβάστε περισσότεραιαδικτυακές Εφαρµογές Πραγµατικού Χρόνου µε Java
ιαδικτυακές Εφαρµογές Πραγµατικού Χρόνου µε Java Java Media Framework Ηβιβλιοθήκη JMF Εγκαθίσταται επιπρόσθετα στη Java Αναπαραγωγή πολυµέσων Αποστολή και λήψη πολυµέσων σε πραγµατικό χρόνο Γραφικά αντικείµενα
Διαβάστε περισσότεραΚλάσεις στην Python. Δημιουργία κλάσεων
Κλάσεις στην Python Στον προγραμματισμό γενικά προσπαθούμε να αποφεύγουμε τις επαναληπτικές εργασίες. Προσπαθούμε να γράφουμε κώδικα μία φορά και να τον χρησιμοποιούμε ξανά. Η αποφυγή της επανάληψης κώδικα
Διαβάστε περισσότεραΕργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήρια Δευτέρα 18:00-20:00,Τρίτη
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input
Διαβάστε περισσότεραΕργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών
Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να καταλάβουν την διαφορά ανάμεσα σε τοπικές και καθολικές μεταβλητές. Nα κάνουν αποσφαλμάτωση
Διαβάστε περισσότεραΕισαγωγικές έννοιες. Ιωάννης Γ. Τσούλος 2014
Εισαγωγικές έννοιες Ιωάννης Γ. Τσούλος 2014 Διάγραμμα παρουσιάσεως 1. Κατηγορίες κινητών τηλεφώνων 2. Κατηγορίες έξυπνων κινητών τηλεφώνων 3. Προγραμματισμός κινητών συσκευών 4. Ξεκίνημα με το Eclipse
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C
ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΕΡΓΑΣΙΑ 1 Ημερομηνία Ανάρτησης: 05/10/2015 Ημερομηνία Παράδοσης: 19/10/2015, 09:00 π.μ. Στόχος Στόχος αυτής της εργασίας είναι η χρησιμοποίηση δομών ελέγχου και βρόγχων. ιαβάστε προσεχτικά το πρόβλημα
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η
Διαβάστε περισσότεραΣχεδόν όλες οι ιστοσελίδες βασίζονται σε μεγάλο βαθμό σε πίνακες. Για να εισάγουμε έναν πίνακα επιλέγουμε από το μενού Insert->Table.
DreamWeaver - Άσκηση 4η Πίνακες Παρακάτω θα δούμε πως μπορούμε να δημιουργούμε και να επεξεργαζόμαστε πίνακες, μια πολύ βασική δομή. Θα δούμε πως γίνεται εισαγωγή πίνακα, ένωση κελιών του πίνακα, προσθήκη
Διαβάστε περισσότεραΔυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client
ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις
Διαβάστε περισσότεραΠρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη
9.1 Γενικά Οι εφαρµογές που δηµιουργούνται από ένα προγραµµατιστή µπορούν ανά πασά στιγµή να καταρρεύσουν από κάποιο λάθος κατά την λειτουργία τους. Αυτές οι καταστάσεις συµβαίνουν από αµέλεια του προγραµµατιστή
Διαβάστε περισσότεραΚλάσεις. Τροποποιητές, ιασυνδέσεις, Πακέτα. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων
Κλάσεις Τροποποιητές, ιασυνδέσεις, Πακέτα Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων Υπάρχουν 4τροποποιητές: default, public, private, protected. Default: εν προηγείται τροποποιητής του ονόµατος
Διαβάστε περισσότεραΝέες Τεχνολογίες στην Εκπαίδευση
Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Εθνικό Μετσόβιο Πολυτεχνείο Νέες Τεχνολογίες στην Εκπαίδευση Εικόνα, κείμενο και εικόνα Στεφανέας Πέτρος Ζαμαρίας Βασίλης Άδεια Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΠεριεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13
Περιεχόμενα Πρόλογος... 13 ΜΕΡΟΣ ΠΡΩΤΟ Κεφ. 1 Περί προγραμματισμού και γλωσσών προγραμματισμού Προγράμματα και Λειτουργικά Συστήματα... 17 Γλώσσες προγραμματισμού και εργαλεία ανάπτυξης προγραμμάτων...
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java
Διαβάστε περισσότερα10.1 Γενικά για τα streams
10.1 Γενικά για τα streams Για την αλληλεπίδραση ενός προγράµµατος µε ένα αρχείο, δηλαδή για την αποθήκευση ή την ανάγνωση δεδοµένων από αυτό χρησιµοποιείται ένα σύστηµα επικοινωνίας που καλείται streams.
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με κοινά χαρακτηριστικά και κοινή συμπεριφορά. Ένα καλούπι/πρότυπο
Διαβάστε περισσότερα