ShareThis

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


Ολα τα applets αποτελούν δευτερεύουσες τάξεις (subclasses) της τάξης Applet, η οποία είναι μέρος του πακέτου java.applet. Δεν υπάρχει καμία κύρια μέθοδος main() σ' ένα applet της Java, όπως συμβαίνει με τις εφαρμογές, και έτσι δεν υπάρχει ένα καθορισμένο σημείο εκκίνησης για το πρόγραμμα. Αντίθετα, ένα applet περιέχει μια ομάδα από στάνταρτ μεθόδους που είναι έτοιμες να αντιμετωπίσουν συγκεκριμένα συμβάντα καθώς εκτελείται το applet.

Σ' αντίθεση με τις εφαρμογές, οι τάξεις των applets πρέπει να είναι public για να μπορούν να δουλέψουν και δηλώνονται ως εξής :

public class lesson01 extends java.applet.Applet

{

    ...

}

Η παραπάνω τάξη κληρονομεί (extends) όλες τις μεθόδους που εμφανίζονται αυτόματα όταν χρειασθεί και που είναι οι init(), paint(), start(), stop() και destroy(). Αν θέλουμε να συμβεί κάτι σ' ένα applet, θα πρέπει να υπερκαλύψουμε (override) αυτές τις μεθόδους και οι μέθοδοι που υπερκαλύπτουμε συχνότερα είναι οι paint() και init().

Η μέθοδος paint() αποτελεί μέρος κάθε applet που θα δημιουργούμε και χωρίς αυτήν δεν μπορούμε να εμφανίσουμε τίποτα στην οθόνη. Χρησιμοποιεί ένα όρισμα της τάξης Graphics και η σύνταξή της είναι ως εξής :

public class paint(Graphics screen)

{

    ...

}

Θα πρέπει να έχουμε προσθέσει νωρίτερα την εντολή import java.awt.Graphics στην αρχή του κώδικα και πριν από τον ορισμό της τάξης.

----------------------------------------------------------------------


Η μέθοδος init() καλείται μόνο μία φορά όταν εκτελείται το applet και χρησιμοποιείται για να ορίσει μεταβλητές που χρειάζονται στο applet, όπως για παράδειγμα γραμματοσειρές (fonts), χρώματα (colors) κ.ά.

Η μέθοδος start() καλείται όταν το applet αρχίζει να εκτελείται και για να κληθεί για δεύτερη φορά, πρέπει να σταματήσει η εκτέλεση του applet.

Η μέθοδος stop() καλείται όταν σταματάει η εκτέλεση του applet, δηλ. όταν φεύγουμε από την ιστοσελίδα.

Η μέθοδος destroy() καλείται αμέσως πριν τερματισθεί το applet.

Για να τοποθετήσουμε ένα applet σε μια ιστοσελίδα, θα πρέπει να χρησιμοποιήσουμε τα tags και , ως εξής :

Πρέπει να έχετε έναν φυλλομετρητή που να υποστηρίζει Java

Η ιδιότητα code αναφέρει το όνομα του applet που θα εκτελεσθεί, η codebase τον φάκελο όπου υπάρχει ο κώδικας του applet αν δεν είναι ο τρέχον φάκελος και οι height και width το ύψος και το πλάτος αντίστοιχα του ορθογωνίου που θα εμφανίσει το applet στην οθόνη. Ανάμεσα στα tags και μπορούμε να γράψουμε ένα κείμενο για να εμφανισθεί σε φυλλομετρητές που δεν υποστηρίζουν Java.

Ακολουθεί ένα απλό παράδειγμα applet.

import java.awt.Graphics;

public class message extends java.applet.Applet

{

        int Value;

        public void init()

        {

                Value = 0;

        }

        public void paint(Graphics screen)

        {

                screen.drawString("Η αξία του αυτοκινήτου είναι : " + Value, 10, 30);

        }

}

Η μέθοδος drawString() χρησιμοποιείται για να εμφανίσουμε μηνύματα σ' ένα applet της Java αντί για την System.out.println().

Μέσα σ' ένα applet μπορούμε να χρησιμοποιήσουμε την μέθοδο repaint() για να καλέσουμε ξανά την μέθοδο paint() στην περίπτωση που έχει γίνει κάποια αλλαγή στην τιμή κάποιας μεταβλητής. Για παράδειγμα, μπορούμε να ξαναγράψουμε την παραπάνω μικροεφαρμογή αλλάζοντας μόνο την μέθοδο paint(), ως εξής :

        public void paint(Graphics screen)

        {

                screen.drawString("Η αξία του αυτοκινήτου είναι : " + Value, 10, 30);

                Value++;

                repaint();

        }

Η τιμή του Value θα αλλάζει συνέχεια και θα καλούμε την μέθοδο repaint(), που στην ουσία είναι η ίδια η μέθοδος paint(), για να εμφανισθεί η νέα τιμή της Value.

blog comments powered by Disqus
Powered by Disqus