Applets Εκτελούνται από τον appletviewer και από Java enabled web browsers Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη δυνατότητα προβολής γραφικών και τη δυνατότητα υλοποίησης ενός γραφικού περιβάλλοντος χειρισμού (GUI) Σε αντίθεση με αυτόνομες εφαρμογές δεν περιέχουν μια κύρια συνάρτηση (main) αλλά περιέχουν συναρτήσεις που εκτελούνται σε καθορισμένα συμβάντα και εκτελούν τον κώδικα που ορίζει ο χρήστης μέσα στην καθεμιά Για τη δημιουργία ενός applet δημιουργούμε μια κλάση που παράγεται από την υπερκλάση Applet Απαιτείται η προσάρτηση του πακέτου java.applet.Applet import java.applet.Applet; import java.applet.Applet;
Βασικές μέθοδοι των applets public void init( ): Καλείται αυτόματα στην πρώτη εκτέλεση του applet. Εδώ ο προγραμματιστής επιτελεί τις όποιες αρχικοποιήσεις public void start( ): Εκτελείται αυτόματα μετά από την init καθώς και μετά από κάθε επαναφορά του appletviewer από κάθε επαναφορά του appletviewer στο προσκήνιο στο προσκήνιο public void stop( ): Ο κώδικάς της εκτελείται κατά την τοποθέτηση του appletviewer στο background appletviewer στο background public void destroy( ): Εκτελείται κατά την παύση της εκτέλεσης του applet (κλείσιμο του browser ή του appletviewer). Σπανίως χρησιμοποιείται. Σπανίως χρησιμοποιείται. public void paint (Graphics graph): εκτελείται αυτόματα μετά από τη start και από το χρήστη μέσω κλήσης της repaint( ). Εδώ εισάγεται από τον προγραμματιστή κώδικας σχεδίασης. και από το χρήστη μέσω κλήσης της repaint( ). Εδώ εισάγεται από τον προγραμματιστή κώδικας σχεδίασης. (Απαιτείται η προσθήκη του πακέτου java.awt.Graphics)
Κύκλος εκτέλεσης applets (με χρήση appletviewer * ) paint(Graphics g)start( )init( )Αρχική εκτέλεση Applet στο background stop( ) Applet στο προσκήνιο start( ) Εντολή επανασχεδιασμού repaint( )paint(Graphics g)update( ) paint(Graphics g) * Ορισμένοι web browsers αγνοούν τις συναρτήσεις start( ) και stop( ) κατά τη μεταφορά τους στο προσκήνιο και στο παρασκήνιο και εκτελούν μόνο τη συνάρτηση paint( ) κατά την επαναφορά τους στο προσκήνιο.
Κύκλος εκτέλεσης μεθόδων σε applets – Ένα παράδειγμα import java.applet.Applet; import java.awt.Graphics; public class Simple extends Applet { String str; String str; public void init() { public void init() { str=new String(); str="initializing... "; str="initializing... "; } public void start() { public void start() { str+="starting..."; str+="starting..."; repaint(); repaint(); } public void stop() { public void stop() { str+="stopping... "; str+="stopping... "; repaint(); repaint(); } public void destroy() { public void destroy() { str+="preparing for unloading..."; str+="preparing for unloading..."; repaint(); repaint(); } public void paint(Graphics g) public void paint(Graphics g) { g.drawString(str, 5, 15); g.drawString(str, 5, 15); }} <APPLET CODE=“Simple.class” WIDTH=XXX HEIGHT=YYY> Εκτέλεση applet μέσω του appletviewer ως εξής: appletviewer myPage.html
Γραφικά στη Java Ο σχεδιασμός γραφικών αντικειμένων με τη χρήση της κλάσης Graphics (απαιτείται η προσθήκη του πακέτου java.awt.Graphics) Ένα αντικείμενο της κλάσης Graphics περιέχει μεθόδους για το σχεδιασμό γραμμών και βασικών σχημάτων. Στα applets, οι εντολές σχεδιασμού γραφικών αντικειμένων τοποθετούνται στη συνάρτηση paint
Μερικές μέθοδοι σχεδιασμού της κλάσης Graphics void drawLine (int x1, int y1, int x2, int y2); void drawString (String str, int x_pos,int y_pos); void drawRect (int x1,int y1,int x2,int y2); void fillRect (int x1, int y1, int x2, int y2); x y Σύστημα συντεταγμένων ενός applet: Θετικές τιμές του x προς τα δεξιά Θετικές τιμές του y προς τα κάτω
Χρώματα Δυνατότητα αλλαγής χρωμάτων των σχημάτων (foreground) και του φόντου μέσω της κλάσης Color (απαραίτητη η προσθήκη του πακέτου java.awt.Color) (απαραίτητη η προσθήκη του πακέτου java.awt.Color) Ορισμός ενός αντικειμένου της κλάσης Color: Color myColor=new Color(int r, int g, int b); Color myColor=new Color(int r, int g, int b); r, g, b: χρωματικές συνιστώσες κόκκινου, πράσινου και μπλε αντίστοιχα r, g, b: χρωματικές συνιστώσες κόκκινου, πράσινου και μπλε αντίστοιχα 0 ≤ r, g, b ≤ ≤ r, g, b ≤ 255 Προκαθορισμένα βασικά χρώματα π.χ. Color.red, Color.blue, Color.gray κ.λ.π. Ορισμός χρωμάτων προσκηνίου και φόντου: void setForeground(Color myColor); void setForeground(Color myColor); void setBackGround(Color myColor); void setBackGround(Color myColor); Color getForeground( ); Color getForeground( ); Color getBackground( ); Color getBackground( );