ΚΕΝΤΡΟ ΠΛΗ.ΝΕ.Τ. Ν. ΦΛΩΡΙΝΑΣ. Η Γλώσσα Προγραµµατισµού Java

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΚΕΝΤΡΟ ΠΛΗ.ΝΕ.Τ. Ν. ΦΛΩΡΙΝΑΣ. Η Γλώσσα Προγραµµατισµού Java"

Transcript

1 ΚΕΝΤΡΟ ΠΛΗ.ΝΕ.Τ. Ν. ΦΛΩΡΙΝΑΣ Η Γλώσσα Προγραµµατισµού Java Εισαγωγή στη Java Η γλώσσα προγραµµατισµού Java είναι από τις δηµοφιλέστερες στο είδος της και µπορεί να χρησιµοποιηθεί τόσο για αυτόνοµες εφαρµογές όσο και για εφαρµογές που εκτελούνται αποκλειστικά στο Web και αποκαλούνται µικροεφαρµογές (applets). Τα πηγαία αρχεία (προγράµµατα) της Java µπορούµε να τα γράψουµε µ' έναν απλό επεξεργαστή κειµένου, όπως είναι το Σηµειωµατάριο (Notepad) των Windows, και πρέπει να έχουν την επέκταση.java. Η επόµενη διαδικασία είναι να µεταγλωττίσουµε (compile) το πρόγραµµα από τη γραµµή εντολών του Ms-Dos µε την εντολή javac prog01.java για να δηµιουργηθεί το αρχείο prog01.class, το οποίο µπορεί να χρησιµοποιηθεί ανεξάρτητα από λειτουργικό σύστηµα (πλατφόρµα), δηλ. το ίδιο και σε Windows και σε Macintosh και σε Unix και σε Linux. Για να εκτελέσουµε ένα µεταγλωττισµένο πρόγραµµα της Java πρέπει να χρησιµοποιήσουµε έναν διερµηνευτή (interpreter) ή µια εικονική µηχανή της Java (JVM, Java Virtual Machine), όπως αποκαλείται. Αν πρόκειται για απλή εφαρµογή της Java, µπορούµε να την εκτελέσουµε από τη γραµµή εντολών του Ms-Dos µε την εντολή java prog01, ενώ αν πρόκειται για µικροεφαρµογή (applet), θα πρέπει να χρησιµοποιήσουµε τις ετικέτες (tags) <applet> και </applet> για να προσδιορίσουµε το µεταγλωττισµένο αρχείο της Java που θα εκτελεσθεί καθώς και το πλάτος (width) και το ύψος (height) του παραθύρου όπου θα εκτελεσθεί η µικροεφαρµογή µέσα στην ιστοσελίδα. Ενας εναλλακτικός τρόπος εµφάνισης των applets είναι να χρησιµοποιήσουµε την εντολή appletviewer prog01.html από τη γραµµή εντολών του Ms-Dos, όπου prog01.html είναι η ιστοσελίδα που περιέχει το applet. Παράδειγµα 1 - Η Πρώτη Εφαρµογή σε Java Ακολουθεί η πρώτη εφαρµογή σε Java. /* Παράδειγµα 1 */ /** Είναι η εφαρµογή Hello Florina */ class HelloFlorina public static void main (String[ ] arguments)

2 System.out.println("Hello from Florina"); // Η πρώτη µας εφαρµογή σε Java Η εντολή class ορίζει το όνοµα µιας τάξης (κλάσης, class), που εδώ είναι το HelloFlorina και πρέπει να είναι υποχρεωτικά το ίδιο και µε τα ίδια πεζά και κεφαλαία γράµµατα µε το όνοµα του πηγαίου αρχείου (προγράµµατος) της Java, δηλ. HelloFlorina.java. Η συνάρτηση main() πρέπει να υπάρχει υποχρεωτικά σε κάθε απλή εφαρµογή (όχι µικροεφαρµογή) της Java και είναι η πρώτη εντολή που αναζητά η Java κατά την µεταγλώττιση και εκτέλεση της εφαρµογής. Με τις αγκύλες και, µπορούµε να χωρίσουµε τον κώδικα του προγράµµατος σε λογικές ενότητες (blocks). Για σχόλια (comments) µίας γραµµής, µπορούµε να χρησιµοποιήσουµε τους χαρακτήρες //, ενώ για σχόλια πολλών γραµµών τους χαρακτήρες /* ή /** για την αρχή του σχολίου και τους χαρακτήρες */ για το τέλος του σχολίου. Οι χαρακτήρες /** και */ αποτελούν ένα σχόλιο τεκµηρίωσης (documentation comment), που το χρησιµοποιεί το εργαλείο (tool) javadoc όταν ετοιµάζει την αυτόµατη δηµιουργία τεκµηρίωσης (documentation). Αν µεταγλωττίσουµε και εκτελέσουµε µε επιτυχία το παραπάνω πρόγραµµα, θα πρέπει να δούµε στην οθόνη το εξής µήνυµα : Hello from Florina Παράδειγµα 2 - Η Πρώτη Μικροεφαρµογή (Applet) σε Java Ακολουθεί η πρώτη µικροεφαρµογή σε Java. /* Παράδειγµα 2 */ /** Είναι η µικροεφαρµογή Hello Florina */ public class prog02 extends java.applet.applet int baros = 0; public void init()

3 baros = 100; public void paint(java.awt.graphics g) g.drawstring("το βάρος µου είναι : " + baros + " κιλά", 10, 20); Σ' αυτό το πρόγραµµα έχουµε δηλώσει µια µεταβλητή µε όνοµα baros, που είναι ακέραιος (integer), και η έξοδός µας αποτελείται από ενωµένα strings και την τιµή της µεταβλητής baros. Η µέθοδος init() καλείται µόνο µία φορά όταν εκτελείται το applet και χρησιµοποιείται για να ορίσει µεταβλητές που χρειάζονται στο applet. Η µέθοδος paint() είναι υποχρεωτική σε κάθε applet και χρησιµοποιείται για να µπορούµε να εµφανίζουµε ο,τιδήποτε θέλουµε σ' ένα applet. Χρησιµοποιεί ένα όρισµα (argument), το οποίο είναι το αντικείµενο Graphics του πακέτου java.awt, που εδώ το ονοµάσαµε g. Με την εντολή (συνάρτηση ή µέθοδο) drawstring(), που ανήκει στο αντικείµενο Graphics, µπορούµε να εµφανίσουµε ένα µήνυµα στην οθόνη σε συγκεκριµένο σηµείο x=10 και y=20, όπου η θέση 0, 0 είναι η πάνω αριστερή γωνία του παραθύρου εµφάνισης του applet µέσα στην ιστοσελίδα. Παράδειγµα 3 - Μεταβλητές και Strings Για να δηλώσουµε µεταβλητές στην Java και να δώσουµε και αρχικές τιµές, µπορούµε να γράψουµε τα εξής : int a; float p; float weight = 90; char initial = 'A'; String name = "George"; boolean married = true;

4 Παράδειγµα 4 - Εργασίες µε Strings Για να συγκρίνουµε strings στην Java χρησιµοποιούµε την µέθοδο equals(). Για να βρούµε το µήκος ενός string στην Java χρησιµοποιούµε την µέθοδο length(). Για να µετατρέψουµε ένα string σε κεφαλαία ή πεζά γράµµατα χρησιµοποιούµε τις µεθόδους touppercase() και tolowercase() αντίστοιχα. Ακολουθούν παραδείγµατα : /* Παράδειγµα 4 */ /** Εργασίες µε Strings */ class StrWorks public static void main (String[ ] arguments) String firstname = "John"; String secondname = "Anna"; System.out.println("Είναι τα ονόµατα ίδια; " + firstname.equals(secondname)); System.out.println("Το πρώτο όνοµα έχει " + firstname.length() + " γράµµατα"); System.out.println("Το πρώτο όνοµα µε κεφαλαία : " + firstname.touppercase()); System.out.println("Το δεύτερο όνοµα µε πεζά : " + secondname.tolowercase()); Παράδειγµα 5 - Η Εντολή If Η εντολή if µπορεί να πάρει τις εξής µορφές στην Java :

5 int balance = -1; if (balance < 0) System.out.println("Ο Λογαριασµός σας δεν έχει αντίκρυσµα"); int balance = 3; if (balance < 0) System.out.println("Ο Λογαριασµός σας δεν έχει αντίκρυσµα"); else System.out.println("Τα διαθέσιµα κονδύλια είναι : " + balance); int balance = 0; if (balance < 0) System.out.println("Ο Λογαριασµός σας δεν έχει αντίκρυσµα"); else if (balance = = 0) System.out.println(" εν υπάρχουν κονδύλια στον Λογαριασµός σας"); else System.out.println("Τα διαθέσιµα κονδύλια είναι : " + balance); Παράδειγµα 6 - Η Εντολή Switch Εκτός από τις φωλιασµένες εντολές if-else, ένας άλλος τρόπος για να ελέγξουµε πολλές διαφορετικές καταστάσεις είναι να χρησιµοποιήσουµε την εντολή switch. /* Παράδειγµα 6 */ /** Η Εντολή Switch */ class Months public static void main (String[ ] arguments)

6 int month = 0; if (argument.length > 0) month = Integer.parseInt(arguments[0]); switch (month) case (1): System.out.println("Ιανουάριος"); break; case (2): System.out.println("Φεβρουάριος"); break; case (3): System.out.println("Μάρτιος"); break;... default: System.out.println("Μάρτιος"); Παράδειγµα 7 - Η Εντολή For Ο βρόχος (loop) for ζητάει από τον υπολογιστή να εκτελέσει µια συγκεκριµένη εργασία έναν ορισµένο αριθµό φορών. /* Η Εντολή For */

7 class Numbers01 public static void main(string[ ] arguments) for (int number = 0; number < 100; number++) System.out.println("Αριθµός : " + number + "."); Παράδειγµα 8 - Η Εντολή While Ο βρόχος while ελέγχει µια συνθήκη και αν αυτή είναι αληθής (true), επαναλαµβάνει µια οµάδα εντολών. /* Η Εντολή While */ class Numbers02 public static void main(string[ ] arguments) int number = 0; while (number < 100) System.out.println("Αριθµός : " + number + "."); number++;

8 Παράδειγµα 9 - Η Εντολή Do... While Ο βρόχος do... while εκτελεί µια οµάδα εντολών µία φορά τουλάχιστον και µετά ελέγχει µια συνθήκη και αν αυτή είναι αληθής (true), τότε επαναλαµβάνει την οµάδα εντολών. /* Η Εντολή Do... While */ class Numbers03 public static void main(string[ ] arguments) int number = 0; do System.out.println("Αριθµός : " + number + "."); number++; while (number < 100); Παράδειγµα 10 - Η Εντολή Break Για να βγούµε από έναν βρόχο, ο κανονικός τρόπος είναι να γίνει ψευδής (false) η συνθήκη ελέγχου του βρόχου, υπάρχουν όµως περιπτώσεις που θέλουµε να βγούµε νωρίτερα από τον βρόχο και προς τον σκοπό αυτό χρησιµοποιούµε την εντολή break. /* Η Εντολή Break */ class Numbers04

9 public static void main(string[ ] arguments) int number = 0; do number++; System.out.println("Αριθµός : " + number + "."); if (number = = 50) break; while (number < 100); Παράδειγµα 11 - Οι Πίνακες (Arrays) στην Java Μπορούµε να δηµιουργήσουµε πίνακες (arrays) γι' όλα τα είδη των πληροφοριών που µπορούν να αποθηκευθούν σαν µεταβλητές, ως εξής : String[ ] babyname; int[ ] babyage; boolean[ ] babyweight; Οι παραπάνω εντολές δηµιούργησαν τρεις πίνακες αλλά δεν έχει αποθηκευθεί ακόµα τίποτα µέσα τους. Για να γίνει αυτό, πρέπει να χρησιµοποιήσουµε την εντολή (τελεστή) new και να καθορίσουµε πόσα στοιχεία θα έχει ο πίνακας, ως εξής : String[ ] babyname = new String[40]; Μπορούµε να εκχωρήσουµε και τιµές µαζί µε την δήλωση ενός πίνακα, ως εξής : int[ ] babyage = 2, 5, 4, 3, 1;

10 Οι τιµές που θα καταχωρηθούν στον πίνακα βρίσκονται ανάµεσα στους χαρακτήρες και και χωρίζονται µε κόµµατα. Ακόµη, όλα τα στοιχεία του πίνακα πρέπει να είναι του ίδιου τύπου και δεν καθορίζουµε τον αριθµό τους. Τα στοιχεία ενός πίνακα αριθµούνται από το 0 έως το n-1, όπου το n είναι το πλήθος των στοιχείων του πίνακα. Για να βρούµε το πλήθος των στοιχείων ενός πίνακα, µπορούµε να χρησιµοποιήσουµε την ιδιότητα length, ως εξής : int[ ] babyage = 2, 5, 4, 3, 1; System.out.println("Υπάρχουν " + babyage.length + " µωρά"); String[ ] Names = "Anna", "Georgia", "Maria", "Alexia"; for (int count = 0; count < Names.length; count++) System.out.println("Ονοµα : " + Names[count]); Για να δηµιουργήσουµε έναν πίνακα δύο διαστάσεων, δίνουµε την εξής εντολή : String[ ] babydetail = new String[5][5]; Παράδειγµα 12 - Τα Αντικείµενα (Objects) Το κάθε πρόγραµµα της Java που δηµιουργούµε µπορεί να θεωρηθεί σαν ένα αντικείµενο (object), όπως ο,τιδήποτε άλλο στον αληθινό κόσµο, όπως δηλαδή ένα αυτοκίνητο, ένα ποδήλατο, µια µηχανή ή και οι ίδιοι οι άνθρωποι. Οι άνθρωποι έχουν ένα κεφάλι, δύο χέρια, δύο πόδια κ.ά., ενώ το κάθε µέρος του σώµατος µπορεί να κάνει συγκεκριµένες εργασίες και αποτελείται από πράγµατα που το διαφοροποιούν από το υπόλοιπο σώµα. Αν διασπάσουµε τα προγράµµατα της Java µε τον ίδιο τρόπο, τότε µπορούµε να µιλήσουµε για Προσανατολισµένο σε Αντικείµενα Προγραµµατισµό (Object Oriented Programming ή OOP). Ένα αντικείµενο (object) περιέχει δύο πράγµατα : ιδιότητες (attributes) και συµπεριφορά (behavior) ή µεθόδους (methods). Οι ιδιότητες περιγράφουν το αντικείµενο ενώ οι µέθοδοι περιγράφουν το τι µπορεί να κάνει το αντικείµενο. Στην Java δηµιουργούµε ένα αντικείµενο χρησιµοποιώντας µια τάξη (class) σαν ένα πρότυπο (template). Η τάξη είναι ένα βασικό αντίγραφο (master copy) του αντικειµένου που καθορίζει ποιες ιδιότητες και συµπεριφορά πρέπει να έχει ένα αντικείµενο. Το κάθε πρόγραµµα σε Java που δηµιουργούµε θα αποτελεί µια τάξη (class) επειδή το καθένα έχει χρησιµοποιήσει ένα πρότυπο (template) για την δηµιουργία νέων αντικειµένων.

11 Οπως είδαµε ήδη, τα αντικείµενα δηµιουργούνται χρησιµοποιώντας µια τάξη αντικειµένων σαν οδηγό ή πρότυπο, ως εξής : public class dog String name; public void speak() System.out.println("γαβ γαβ"); Το πρώτο τµήµα της τάξης dog δηµιουργεί µια µεταβλητή string µε όνοµα name, που αποτελεί µια ιδιότητα ή χαρακτηριστικό (attribute) του αντικειµένου και είναι αυτό που ξεχωρίζει το ένα αντικείµενο dog από το άλλο. Το δεύτερο τµήµα της τάξης dog είναι µια µέθοδος (method) ή συµπεριφορά (behavior) ή συνάρτηση (function) µε όνοµα speak() και η οποία περιέχει µία µόνο εντολή για την εµφάνιση ενός µηνύµατος. Αν θέλουµε τώρα να δηµιουργήσουµε ένα αντικείµενο dog σ' ένα πρόγραµµα, µπορούµε να χρησιµοποιήσουµε την εξής εντολή : dog mydog = new dog(); Μπορούµε να δώσουµε τιµή στην µεταβλητή name του αντικειµένου mydog : mydog.name = "Azor"; Μπορούµε να καλέσουµε την µέθοδο speak() του αντικειµένου mydog : mydog.speak(); οπότε θα εµφανισθεί το µήνυµα "γαβ γαβ" στην οθόνη. Παράδειγµα 13 - Η Κληρονοµικότητα (Inheritance) Μια τάξη που κληρονοµεί χαρακτηριστικά από µια άλλη τάξη καλείται δευτερεύουσα τάξη (subclass) και η τάξη από την οποία κληρονοµεί καλείται υπερτάξη (superclass). Για παράδειγµα, θα δηµιουργήσουµε µια τάξη µε όνοµα mammal (θηλαστικό), η οποία θα έχει την ιδιότητα (attribute) name και την µέθοδο (method) sleep().

12 Μετά, χρησιµοποιώντας την λέξη κλειδί extends, θα δηµιουργήσουµε µια νέα τάξη µε όνοµα cat, η οποία θα κληρονοµεί όλα τα χαρακτηριστικά της τάξης mammal αλλά θα έχει και µια επιπλέον δική της µέθοδο µε όνοµα speak(). public class mammal String name; public void sleep() System.out.println("snore... snore..."); public class cat extends mammal public void speak() System.out.println("νιάου νιάου"); Εχουµε τώρα µια δευτερεύουσα τάξη µε όνοµα cat της υπερτάξης mammal, όπου η τάξη cat έχει την ιδιότητα name και την µέθοδο sleep() που έχει κληρονοµήσει από την υπερτάξη mammal καθώς και την δική της µέθοδο speak(). Ακολουθεί έναα παράδειγµα που δηµιουργεί αντικείµενα από την παραπάνω τάξη cat και χρησιµοποιεί τα χαρακτηριστικά της. class newcat public static void main(string arguments[ ]) cat catty = new cat();

13 catty.name = "Azor"; System.out.println("Ο Azor νιαουρίζει"); catty.speak(); System.out.println("Ο Azor κοιµάται"); catty.sleep(); Η συµπεριφορά και οι ιδιότητες µιας τάξης αποτελούν τον συνδυασµό της δικής της συµπεριφοράς και ιδιοτήτων καθώς και της συµπεριφοράς και των ιδιοτήτων που έχει κληρονοµήσει απ' όλες τις υπερτάξεις της. ύο µέθοδοι µπορούν να έχουν το ίδιο όνοµα αν έχουν διαφορετικό αριθµό ορισµάτων ή ορίσµατα διαφορετικού τύπου. Μέσα σε µια δευτερεύουσα τάξη µπορούµε να ξαναορίσουµε και να αντικαταστήσουµε έτσι µια µέθοδο που έχει ήδη οριστεί σε µια υπερτάξη. Αυτό αποκαλείται υπερκάλυψη (overriding) της µεθόδου. Παράδειγµα 14 - Οι Μικροεφαρµογές (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().

14 Η µέθοδος 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 <applet> και </applet>, ως εξής : <applet code="lesson01.class" codebase="java" height=100 width=250> Πρέπει να έχετε έναν φυλλοµετρητή που να υποστηρίζει Java </applet> Η ιδιότητα code αναφέρει το όνοµα του applet που θα εκτελεσθεί, η codebase τον φάκελο όπου υπάρχει ο κώδικας του applet αν δεν είναι ο τρέχον φάκελος και οι height και width το ύψος και το πλάτος αντίστοιχα του ορθογωνίου που θα εµφανίσει το applet στην οθόνη. Ανάµεσα στα tags <applet> και </applet> µπορούµε να γράψουµε ένα κείµενο για να εµφανισθεί σε φυλλοµετρητές που δεν υποστηρίζουν Java. Ακολουθεί ένα απλό παράδειγµα applet. import java.awt.graphics; public class message extends java.applet.applet int Value;

15 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. Παράδειγµα 15 - Η Πολυεπεξεργασία (Multitasking) Ο όρος πολυεπεξεργασία (multitasking) αναφέρεται στην ικανότητα ενός υπολογιστή να µπορεί να εκτελεί δύο ή περισσότερες εργασίες (tasks) ταυτόχρονα. Ενα από τα χαρακτηριστικά της Java είναι η ικανότητά της να γράφει προγράµµατα που να µπορούν να κάνουν πολυεπεξεργασία. Η καθεµία απ' αυτές τις ταυτόχρονες εργασίες

16 καλείται νήµα (thread) και η όλη διαδικασία καλείται πολυνηµάτωση (multithreading). Παράδειγµα 16 - Πέρασµα Παραµέτρων σε Applets Μπορούµε να διαβιβάσουµε παραµέτρους σ' ένα applet χρησιµοποιώντας το tag <param> και τις ιδιότητές του (attributes) name και value. Μπορούµε να έχουµε περισσότερα από ένα tag <param> σ' ένα applet, τα οποία πρέπει να βρίσκονται ανάµεσα στα tags <applet> και </applet>. Η ιδιότητα name χρησιµοποιείται για να ξεχωρίσει η παράµετρος ενώ η ιδιότητα value δίνει µια τιµή στην παράµετρο. Με την µέθοδο getparameter() της τάξης Applet µπορούµε να διαβάσουµε την τιµή µιας παραµέτρου ενός tag <param>. Σαν όρισµα στην µέθοδο δίνουµε το όνοµα της παραµέτρου όπως ορίζεται στην ιδιότητα name. Για παράδειγµα, αν έχουµε τα εξής σ' ένα tag <applet> : <applet>... <param name ="text" value="home">... </applet> Τότε µε την παρακάτω εντολή µέσα από τον κώδικα του applet της Java : String buttontext = getparameter("text") θα καταχωρηθεί η τιµή "Home" στο string buttontext. Επειδή η µέθοδος getparameter() επιστρέφει όλες τις παραµέτρους σαν strings, θα πρέπει να κάνουµε µετατροπές τύπου, ως εξής : <param name="age" value="36">... int age; String ageparam = getparameter("age"); age = Integer.parseInt(ageParam); Αν µια παράµετρος δεν υπάρχει, τότε η µέθοδος getparameter() επιστρέφει µια τιµή null.

17 String pname; String nameparam = getparameter("username"); if (nameparam!= null) pname = nameparam;... screen.drawstring("ονοµα χρήστη : " + pname, 10, 30); Παράδειγµα 17 - Η Τάξη Font (Γραµµατοσειρές) Για να µπορέσουµε να εµφανίσουµε µια γραµµατοσειρά στην Java, πρέπει να γνωρίζουµε τα εξής στοιχεία γι' αυτήν : Τύπος (Arial, Courier κλπ) Στυλ (bold, italic, plain) Μέγεθος σε points Για να δηµιουργήσουµε ένα δικό µας αντικείµενο γραµµατοσειράς, χρησιµοποιούµε την τάξη Font µε τον τελεστή new και περνάµε τρία ορίσµατα, όπως δηλώθηκαν παραπάνω. Μπορούµε να χρησιµοποιήσουµε τις σταθερές Font.PLAIN, Font.BOLD, Font.ITALIC και Font.BOLD+Font.ITALIC. Με την µέθοδο setfont() ορίζουµε µια γραµµατοσειρά ενώ µε την µέθοδο getfont() µπορούµε να δούµε ποια γραµµατοσειρά χρησιµοποιείται εκείνη τη στιγµή. Τα στοιχεία της τρέχουσας γραµµατοσειράς χρησιµοποιούνται για την εµφάνιση του κειµένου στην οθόνη. Ακολουθεί ένα παράδειγµα. import java.awt.*; public class Fonts extends java.applet.applet public void paint(graphics screen) Font currentfont = new Font("TimesRoman", Font.PLAIN, 20); screen.setfont(currentfont); screen.drawstring("γραµµατοσειρά Plain Times Roman 20 point", 10, 30);

18 40); Font combfont = new Font("TimesRoman", Font.BOLD+Font.ITALIC, screen.setfont(combfont); screen.drawstring("γραµµατοσειρά Bold+Italic Times Roman 40 point", 10, 50); Παράδειγµα 18 - Η Τάξη Color (Χρώµατα) Μπορούµε να χρησιµοποιήσουµε δύο τρόπους για να ορίσουµε το χρώµα που θέλουµε να εµφανίσουµε σ' ένα applet. Ο πρώτος χρησιµοποιεί µια σταθερή µεταβλητή της τάξης Color και ο δεύτερος ορίζει νέα χρώµατα µε βάση τις RGB (red, green, bule) τιµές τους από Μπορούµε να ορίσουµε το χρώµα του φόντου της εφαρµογής µε την µέθοδο setbackground() και το χρώµα του κειµένου της εφαρµογής µε την µέθοδο setcolor(). Ακολουθεί ένα παράδειγµα. import java.awt.*; public class Colors extends java.applet.applet public void paint(graphics screen) setbackground(color.green); screen.drawstring("χρώµα φόντου µαύρο", 10, 30); screen.setcolor(color.blue); screen.drawstring(χρώµα κειµένου κόκκινο", 10, 50); Color mystery = new Color(100, 200, 50); setbackground(mystery); screen.drawstring("χρώµα φόντου τυχαίο", 10, 70);

19 Παράδειγµα 19 - Χρήση Γραφικών Στην Java µπορούµε να σχεδιάσουµε τα εξής γραφικά : Γραµµές Ορθογώνια και Τετράγωνα Κύκλους και Ελλείψεις Τόξα Πολύγωνα Ολα τα παραπάνω να είναι γεµισµένα µε χρώµα ή άδεια Για να σχεδιάσουµε ένα γραφικό στην Java χρησιµοποιούµε µια µέθοδο της τάξης Graphics. Για να σχεδιάσουµε µια γραµµή χρησιµοποιούµε την µέθοδο drawline() ως εξής : screen.setcolor(color.red); screen.drawline(100, 150, 170, 200); Η παραπάνω εντολή σχεδιάζει µια γραµµή µε πλάτος 1 pixel και χρώµα κόκκινο από την θέση (100, 150) της οθόνης µέχρι την θέση (170, 200). Για να σχεδιάσουµε ένα ορθογώνιο ή τετράγωνο έχουµε πολλές επιλογές : Η µέθοδος drawrect() για απλό ορθογώνιο, µη γεµισµένο και χωρίς στρογγυλεµένες γωνίες : screen.drawrect(100, 150, 200, 250) Η παραπάνω εντολή σχεδιάζει ένα ορθογώνιο µε πάνω αριστερά κορυφή στο σηµείο 100, 150, πλάτος 200 και ύψος 250. Η µέθοδος fillrect() για γεµισµένο ορθογώνιο : screen.setcolor(color.blue); screen.fillrect(100, 150, 200, 250) Η παραπάνω εντολή σχεδιάζει ένα ορθογώνιο γεµισµένο µε µπλε χρώµα, µε πάνω αριστερά κορυφή στο σηµείο 100, 150, πλάτος 200 και ύψος 250. Η µέθοδος drawroundrect() για ορθογώνιο µε στρογγυλεµένες γωνίες : screen.setcolor(color.green);

20 screen.drawroundrect(100, 150, 200, 250, 15, 15) Η µέθοδος fillroundrect() για γεµισµένο ορθογώνιο µε στρογγυλεµένες γωνίες : screen.setcolor(color.yellow); screen.fillroundrect(100, 150, 200, 250, 15, 15) Οι µέθοδοι drawroundrect() και fillroundrect() έχουν δύο επιπλέον παραµέτρους που είναι η απόσταση από την γωνία που θέλουµε να ξεκινάει η καµπύλη. Για να σχεδιάσουµε µια έλλειψη ή έναν κύκλο χρησιµοποιούµε την µέθοδο drawoval() ως εξής : screen.setcolor(color.red); screen.drawoval(100, 150, 20, 30); Η παραπάνω εντολή σχεδιάζει µια έλλειψη µε κόκκινο χρώµα, µε πάνω αριστερά κορυφή στο σηµείο 100, 150, πλάτος 20 και ύψος 30. Η µέθοδος filloval() γεµίζει την έλλειψη µε χρώµα : screen.setcolor(color.yellow); screen.filloval(100, 150, 20, 30); Για να σχεδιάσουµε ένα τόξο χρησιµοποιούµε την µέθοδο drawarc() ως εξής : screen.setcolor(color.blue); screen.drawarc(100, 150, 30, 20, 45, 180); Η παραπάνω εντολή σχεδιάζει ένα τόξο έλλειψης µε µπλε χρώµα, µε πάνω αριστερά κορυφή στο σηµείο 100, 150, πλάτος 20, ύψος 30, γωνία εκκίνησης του τόξου στις 45 µοίρες και γωνία του τόξου 180 µοίρες µε φορά αντίθετη αυτής των δεικτών του ρολογιού. Η µέθοδος fillarc() γεµίζει το τόξο µε χρώµα : screen.setcolor(color.green); screen.fillarc(100, 150, 20, 20, 90, -180); Για να σχεδιάσουµε ένα πολύγωνο, πρέπει πρώτα να δηµιουργήσουµε έναν πίνακα (array) ακεραίων που θα περιέχει τις x συντεταγµένες και έναν άλλον πίνακα ακεραίων που θα περιέχει τις y συντεταγµένες των κορυφών του πολυγώνου. Χρησιµοποιούµε την µέθοδο drawpolygon(), η οποία παίρνει σαν παραµέτρους τους δύο πίνακες µε τις συντεταγµένες καθώς και έναν ακέραιο αριθµό που παριστάνει τον αριθµό των κορυφών του πολυγώνου.

21 int[] xpoints = 100, 150, 200, 250; int[] ypoints = 50, 100, 150, 300; int point = 4; screen.setcolor(color.red); screen.drawpolygon(xpoints, ypoints, points); Η µέθοδος fillpolygon() γεµίζει το πολύγωνο µε χρώµα : screen.fillpolygon(xpoints, ypoints, points); Παράδειγµα 20 - Πλήκτρα Εντολής Για να µπορέσουµε να δηµιουργήσουµε ένα συστατικό, όπως ένα πλήκτρο εντολής (button) σ' ένα πρόγραµµα της Java, δηµιουργούµε πρώτα το αντικείµενο και µετά χρησιµοποιούµε την µέθοδο add() για να το προσθέσουµε σ' ένα υπάρχον συστατικό. Ενα συστατικό Button είναι ένα πλήκτρο µε δυνατότητα κλικ και µε µια ετικέτα (label, caption) που περιγράφει τι θα συµβεί αν κάνουµε κλικ στο πλήκτρο. Για να προσθέσουµε ένα button σ' ένα applet, γράφουµε τον εξής κώδικα : import java.awt.*; public class lesson20 extends java.applet.applet Button hellobutton = new Button("Hello"); public void init() add(hellobutton); Παράδειγµα 21 - Ετικέτες και Πλαίσια Κειµένου Μια ετικέτα (Label) εµφανίζει ένα µήνυµα (string) που δεν µπορεί να αλλαχθεί από τον χρήστη, ενώ ένα πλαίσιο κειµένου (TextField) είναι µια περιοχή όπου ο χρήστης

22 µπορεί να καταχωρήσει µία γραµµή κειµένου. Μπορούµε να δηµιουργήσουµε ετικέτες και πλαίσια κειµένου σ' ένα applet της Java ως εξής : import java.awt.*; public class lesson21 extends java.applet.applet Label label = new Label(" ιεύθυνση ", Label.RIGHT); TextField address = new TextField(30); public void init() add( label); add( address); Παράδειγµα 22 - Πλαίσια Ελέγχου και Πλήκτρα Επιλογής Ενα πλαίσιο ελέγχου (checkbox) είναι ένα τετράγωνο συστατικό που µπορούµε να επιλέξουµε ανεξάρτητα από άλλα πλαίσια ελέγχου, ενώ ένα πλήκτρο επιλογής (radio button) είναι ένα κυκλικό συστατικό όπου µπορούµε να επιλέξουµε ένα και µόνο ένα από µια οµάδα πλήκτρων επιλογής. Η Java χαρακτηρίζει και τα πλαίσια ελέγχου και τα πλήκτρα επιλογής σαν CheckBox και τα διαχωρίζει αν κατά την στιγµή της δηµιουργίας τους ανήκουν ή όχι σε µια οµάδα (CheckboxGroup). Για να δηµιουργήσουµε ένα πλαίσιο ελέγχου σ' ένα applet γράφουµε τον εξής κώδικα : import java.awt.*; public class lesson22a extends java.applet.applet Checkbox me = new Checkbox("Στείλτε ", true); public void init()

23 add( me); Μπορούµε να προσθέσουµε δύο ορίσµατα κατά την δηµιουργία ενός πλαισίου ελέγχου, όπου το πρώτο είναι µια επεξηγηµατική γραµµή κειµένου που θα εµφανισθεί δίπλα στο πλαίσιο ελέγχου και το δεύτερο είναι µια τιµή boolean που διευκρινίζει αν το πλαίσιο ελέγχου θα είναι επιλεγµένο (true) ή όχι (false) όταν εκτελεσθεί η εφαρµογή. Για να δηµιουργήσουµε πλήκτρα επιλογής σ' ένα applet πρέπει πρώτα να δηµιουργήσουµε µια οµάδα πλαισίων ελέγχου µε το αντικείµενο CheckboxGroup και µετά κατά την δηµιουργία των πλαισίων ελέγχου να χρησιµοποιήσουµε και µια τρίτη παράµετρο που να δηλώνει την οµάδα στην οποία θα ανήκει αυτό το πλαίσιο ελέγχου, άρα στην ουσία δηµιουργούµε ένα πλήκτρο επιλογής. Γράφουµε τον εξής κώδικα : import java.awt.*; public class lesson22b extends java.applet.applet CheckboxGroup cards = new CheckboxGroup(); Checkbox visacard = new Checkbox("Visa Card", true, cards); Checkbox mastercard = new Checkbox("Master Card", false, cards); Checkbox dinerscard = new Checkbox("Diners Card", false, cards); public void init() add(visacard); add(mastercard); add(dinerscard); ηµιουργήσαµε ένα checkbox group µε όνοµα cards και όλα τα πλαίσια ελέγχου (στην ουσία πλήκτρα επιλογής) που δηµιουργήσαµε προστέθηκαν σ' αυτή την οµάδα (group).

24 Παράδειγµα 23 - Λίστες Επιλογής Μια λίστα επιλογής (choice) είναι µια πτυσσόµενη λίστα επιλογών από τις οποίες µόνο µία µπορεί να είναι επιλεγµένη. Είναι γνωστή και σαν πτυσσόµενο ή σύνθετο πλαίσιο (combo box). Για να δηµιουργήσουµε µια λίστα επιλογής, δηµιουργούµε πρώτα το αντικείµενο και µετά προσθέτουµε µία-µία τις επιλογές, ως εξής : import java.awt.*; public class lesson23 extends java.applet.applet Choice sport = new Choice(); public void init() sport.add("μπάσκετ"); sport.add("βόλλεϋ"); sport.add("ποδόσφαιρο"); sport.add("κολύµβηση"); add.sport(); ηµιουργήσαµε µια λίστα επιλογής µε τέσσερα αθλήµατα. Παράδειγµα 24 - Περιοχές Κειµένου Μια περιοχή κειµένου (TextArea) είναι ένα πεδίο κειµένου όπου µπορούµε να καταχωρήσουµε περισσότερες από µία γραµµές κειµένου. Σε µια περιοχή κειµένου πρέπει να καθορίσουµε το πλάτος και το ύψος της και µπορούµε να τοποθετήσουµε και ένα αρχικό κείµενο µαζί την δήλωσή της. Μπορούµε να δηµιουργήσουµε µια περιοχή κειµένου σ' ένα applet της Java ως εξής : import java.awt.*;

25 public class lesson24 extends java.applet.applet TextArea comments = new TextArea("Florina per sempre", 10, 20); public void init() add(comments); Παράδειγµα 25 - Τα Layout Managers Τα αντικείµενα Panel ανήκουν στην κατηγορία των αντικειµένων που είναι γνωστά σαν υποδοχείς (containers). Τα αντικείµενα αυτά δεν εµφανίζουν τίποτα και χρησιµοποιούνται για να περιέχουν άλλα αντικείµενα. Το προκαθορισµένο layout manager είναι η τάξη FlowLayout που έχουµε χρησιµοποιήσει σ' όλα τα παραδείγµατά µας µέχρι τώρα, χωρίς να το έχουµε δηλώσει ρητά. Σύµφωνα µ' αυτό το layout manager, τα αντικείµενα τοποθετούνται σε µια περιοχή από αριστερά προς τα δεξιά και στην επόµενη γραµµή όταν δεν υπάρχει άλλος χώρος. Παράδειγµα 26 - Ο GridLayout Manager Η τάξη GridLayout οργανώνει τα συστατικά σ' έναν υποδοχέα (container) µ' έναν συγκεκριµένο αριθµό γραµµών και στηλών, ως εξής : GridLayout ourlayout = new GridLayout(3, 4); setlayout(ourlayout); Η παραπάνω διάταξη ορίζει την τοποθέτηση των αντικειµένων σ' ένα πλέγµα (grid) µε 3 γραµµές και 4 στήλες. Παράδειγµα 27 - Ο BorderLayout Manager

26 Η τάξη BorderLayout τακτοποιεί τα συστατικά σε πέντες περιοχές, όπου πο τέσσερις χαρακτηρίζονται από τις θέσεις της πυξίδας, δηλ. North, South, East, West και µια για το κέντρο (Center), ως εξής : import java.awt.*; public class lesson27 extends java.applet.applet Button onebutton = new Button("Ενα"); Button twobutton = new Button(" ύο"); Button threebutton = new Button("Τρία"); Button fourbutton = new Button("Τέσσερα"); Button fivebutton = new Button("Πέντε"); public void init() BorderLayout ourlayout = new BorderLayout(); setlayout(ourlayout); add(onebutton, "North"); add(twobutton, "South"); add(threebutton, "East"); add(fourbutton, "West"); add(fivebutton, "Center"); Παράδειγµα 28 - Τα Συµβάντα Χρήστη Η απόκριση στα συµβάντα χρήστη (user events) σ' ένα πρόγραµµα της Java απαιτεί την χρήση ενός ή περισσοτέρων EventListener interfaces. Οι τάξεις ακρόασης (listening classes) αποτελούν µέρος του πακέτου java.awt.event και µπορούµε να τις κάνουµε διαθέσιµες µε την εξής εντολή :

27 import java.awt.event.*; Πρέπει επίσης να χρησιµοποιήσουµε την εντολή implements για να δηλώσουµε ότι θα χρησιµοποιήσουµε ένα ή περισσότερα listening interfaces. Η επόµενη εντολή δηµιουργεί µια τάξη που χρησιµοποιεί το ActionListener, το οποίο είναι ένα interface που χρησιµοποιείται µε πλήκτρα εντολής (buttons) και άλλα συστατικά. public class Graph extends java.applet.applet implements ActionListener... Το EventListener interface δίνει την δυνατότητα σ' ένα συστατικό ενός γραφικού interface χρήστη να παράγει συµβάντα χρήστη. Ενα πρόγραµµα πρέπει να περιλαµβάνει ένα listener interface για κάθε τύπο συστατικού που επιθυµεί να ακούσει, ως εξής : public class Graph3d extends java.applet.applet implements ActionListener, MouseListener... Αφού έχουµε δηµιουργήσει το interface που απαιτείται για ένα συγκεκριµένο συστατικό, θα πρέπει να ορίσουµε αυτό το συστατικό ώστε να δηµιουργεί συµβάντα χρήστη. Για να κάνουµε ένα πλήκτρο εντολής (button) να παράγει ένα συµβάν, χρησιµοποιούµε την µέθοδο addactionlistener(), ως εξής : Button button1 = new Button("Εκκίνηση"); button1.addactionlistener(this); Οταν παράγεται ένα συµβάν χρήστη από ένα συστατικό που περιέχει έναν listener, θα κληθεί αυτόµατα µια µέθοδος. Αυτές οι µέθοδοι πρέπει να βρίσκονται στην τάξη που καθορίσθηκε όταν ο listener προστέθηκε στο συστατικό. Ο κάθε listener διαθέτει διαφορετικές µεθόδους που καλούνται για να συλλάβουν τα συµβάντά τους. Για παράδειγµα, το ActionListener interface στέλνει συµβάντα σε µια τάξη που καλείται actionperformed(), ως εξής : void public actionperformed(actionevent e)

28 ... Ολα τα συµβάντα ενέργειας που στέλνονται σ' αυτό το πρόγραµµα θα πάνε σ' αυτήν την µέθοδο. Στην συγκεκριµένη περίπτωση στέλνουµε ένα αντικείµενο µε όνοµα e της τάξης ActionEvent στην µέθοδο actionperformed(). Υπάρχουν πολλές διαφορετικές τάξεις αντικειµένων που αντιπροσωπεύουν τα συµβάντα χρήστη που µπορούν να σταλούν σ' ένα πρόγραµµα. Αυτές οι τάξεις έχουν µεθόδους που µπορούµε να χρησιµοποιήσουµε για να βρούµε ποιο συστατικό προκάλεσε την εκτέλεση του συµβάντος. Στην µέθοδο actionperformed() µπορούµε να αναγνωρίσουµε το συστατικό αυτό µε την εξής εντολή : String cmd = e.getactioncommand(); Η µέθοδος getactioncommand() επιστρέφει ένα string και αν το συστατικό είναι ένα πλήκτρο εντολής (button), η τιµή του string θα είναι η ετικέτα (label, caption) του πλήκτρου εντολής, ενώ αν το συστατικό είναι ένα πλαίσιο κειµένου (text field), η τιµή του string θα είναι το κείµενο που έχει καταχωρηθεί στο πλαίσιο κειµένου. Με την µέθοδο getsource() µπορούµε να µάθουµε το αντικείµενο που προκάλεσε το συµβάν, ως εξής : Object source = e.getsource(); Παράδειγµα 29 - Συµβάντα µε Πλαίσια Ελέγχου και Λίστες Επιλογής Τα πλαίσια ελέγχου και οι λίστες επιλογής απαιτούν το ItemListener interface. Για να κάνουµε ένα απ' αυτά τα συστατικά να δηµιουργεί συµβάντα, χρησιµοποιούµε την µέθοδο additemlistener(). Οι επόµενες εντολές δηµιουργούν ένα πλαίσιο ελέγχου µε όνοµα visacard και το κάνουν να στέλνει συµβάντα χρήστη κάθε φορά που κάνουµε κλικ πάνω του. Checkbox visacard = new Checkbox("Visa Card", true); visacard.additemlistener(this); Τα συµβάντα λαµβάνονται από την µέθοδο itemstatechanged(), η οποία παίρνει σαν όρισµα ένα αντικείµενο ItemEvent. Για να βρούµε ποιο αντικείµενο προκάλεσε το συµβάν, χρησιµοποιούµε την µέθοδο getitem(). Για να βρούµε αν ένα πλαίσιο ελέγχου είναι επιλεγµένο ή όχι, χρησιµοποιούµε την µέθοδο getstatechange() µε τις σταθερές ItemEvent.SELECTED και ItemEvent.DESELECTED, ως εξής : int status = visacard.getstatechanged();

29 if (status = = ItemEvent.SELECTED) else // το στοιχείο είναι επιλεγµένο // το στοιχείο δεν είναι επιλεγµένο Για να βρούµε την τιµή που έχει επιλεγεί σ' ένα αντικείµενο λίστας, χρησιµοποιούµε την µέθοδο getitem() και µετατρέπουµε την τιµή που επιστρέφει σε string, ως εξής : Object which = visacard.getitem(); String answer = (String) which; Παράδειγµα 30 - Συµβάντα µε Πλαίσια Κειµένου Αν θέλουµε να ελέγξουµε αν έχει λάβει χώρα ένα συµβάν σ' ένα πλαίσιο κειµένου, όπως αλλαγή της τιµής του, χρησιµοποιούµε το TextListener interface. Η µέθοδος addtextlistener() κάνει ένα συστατικό κειµένου να µπορεί να δηµιουργεί συµβάντα χρήστη και η µέθοδος textvaluechanged() λαµβάνει τα συµβάντα, ως εξής : public void textvaluechanged(textevent txt) Object source = txt.getsource(); if (source = = address) else String newaddress = address.gettext();

30 String newzipcode = zipcode.gettext();

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

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

Διαβάστε περισσότερα

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

HelloApplet. Παύλος Εφραιμίδης Java Applets 1 HelloApplet Παύλος Εφραιμίδης pefraimi@ee.duth.gr Java Applets 1 Applets Τα Applets είναι προγράμματα Java που μπορούν να εκτελεστούν μέσα στο περιβάλλον ενός Browser (Firefox, Internet Explorer, Netscape,

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING Swing Τα GUIs (Graphical User Interfaces) είναι τα συνηθισμένα interfaces που χρησιμοποιούν παράθυρα, κουμπιά, menus,

Διαβάστε περισσότερα

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

ηµιουργία ιαλογικών Προγραµµάτων για το Web ηµιουργία ιαλογικών Προγραµµάτων για το Web Βοηθητικές Εφαρµογές (). Οι βασικές µέθοδοι των Βοηθητικών Εφαρµογών. Η µέθοδος init(). Οι µέθοδοι start() και stop(). Η µέθοδος paint(). Η µέθοδος destroy().

Διαβάστε περισσότερα

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

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

Διαβάστε περισσότερα

Week 10: Graphical User Interfaces

Week 10: Graphical User Interfaces Week 10: Graphical User Interfaces Έννοιες του προγραµµατισµού ΓΠΕ [GUI] Εβδοµάδα 10: Εισαγωγή στα Γραφικά Περιβάλλοντα Επικοινωνίας [Graphical User Interfaces] Συστατικά [components] ιάταξη [layout] [event-driven

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ GUI AWT ΚΑΙ

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ GUI AWT ΚΑΙ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ GUI AWT ΚΑΙ SWING Βασικά στοιχεία ενός GUI Ένα Graphical User Interface-GUI (στα ελληνικά Γραφική Διεπαφή με το Χρήστη) είναι το μέρος του

Διαβάστε περισσότερα

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

java.awt Font Γραµµατοσειρές Color Χρώµατα

java.awt Font Γραµµατοσειρές Color Χρώµατα Οι κλάσεις Font και Color Η κλάση Font Η κλάση Color Χρήση Γραφικών Σχεδίαση Γραµµών Σχεδίαση Ορθογωνίων Σχεδίαση Ελλείψεων και Κύκλων Σχεδίαση Τόξων Σχεδίαση Πολυγώνων Σχεδίαση Γραµµών µε ιαφορετικά Πλάτη

Διαβάστε περισσότερα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING Swing Τα GUIs (Graphical User Interfaces) είναι τα συνηθισμένα interfaces που χρησιμοποιούν παράθυρα, κουμπιά, menus,

Διαβάστε περισσότερα

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων Αντικείµενα ηµιουργία και χρησιµοποίηση αντικειµένων ηµιουργία αντικειµένων Για να δηµιουργήσω ένα νέο αντικείµενο χρησιµοποιώ τον τελεστή new µε τοόνοµατηςκλάσηςαπότηνοποίαθέλωναδηµιουργήσωένααντικείµενο,

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

Διαβάστε περισσότερα

ημιουργία Γραφικού Περιβάλλοντος

ημιουργία Γραφικού Περιβάλλοντος Γραφικό Περιβάλλον Χρήστη. Πλαίσια και παράθυρα. Κουμπιά. Ετικέτες και πεδία κειμένου. Πλαίσια ελέγχου. Σύνθετα πλαίσια. Περιοχές κειμένου. Πάνελς. Διαχειριστές Διάταξης. Απόκριση σε δεδομένα που εισάγει

Διαβάστε περισσότερα

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

Μικροεφαρμογές (Applets) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #9 η : Μικρο εφαρμογές (Applets), Γραφικά Γαβαλάς Δαμιανός dgavalas@aegean.gr Μικροεφαρμογές (Applets) Γενικά στην πληροφορική, ένα applet είναι μια

Διαβάστε περισσότερα

Ανάπτυξη Plugins για το AgentSheets

Ανάπτυξη Plugins για το AgentSheets Ανάπτυξη Plugins για το AgentSheets Thought Amplifier AgentSheets Ανάπτυξη Plugins AgentSheets 2.5 Συγγραφείς Τεκµηρίωσης: Alexander Repenning και Ronald Sudomo Εξελληνισµός Τεκµηρίωσης: Λίνος Βίγκλας,

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος

Διαβάστε περισσότερα

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

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα Αντικειµενοστραφής Προγραµµατισµός Αντικείµενα Ιεραρχία κλάσεων. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του this και του super Αντικειµενοστραφής

Διαβάστε περισσότερα

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 4: JAVA: ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ, ΓΡΑΦΙΚΑ, APPLETS Γραφικές Διεπαφές Χρήστη - awt ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ

Διαβάστε περισσότερα

Wrapper Classes, Abstract Classes and Interfaces

Wrapper Classes, Abstract Classes and Interfaces Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES Κων. Κόκκινος Αντικειμενοστραφής Προγραμματισμός Η ιδέα του αντικειμενοστραφούς προγραμματισμού Αυτόνομες οντότητες Στιγμιότυπα οντοτήτων Παράδειγμα

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

Διαβάστε περισσότερα

Το παρακάτω πρόγραμμα ορίζει δυο κλάσεις την SimpleThread και την TwoThreadsTest:

Το παρακάτω πρόγραμμα ορίζει δυο κλάσεις την SimpleThread και την TwoThreadsTest: Εισαγωγή στη γλώσσα προγραμματισμού Java 41 6. Threads Πολλές γλώσσες προγαμματισμού όπως και η Java διαθέτουν εργαλεία για την υλοποίηση threads στα προγράμματά τους. Αυτές οι γλώσσες καλούνται multithreading

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 - Παράδειγμα με switch (το οποίο δείχνει επίσης πότε σε μια άσκηση χρησιμοποιούμε user-input και System.out.println() για έξοδο και πότε χρησιμοποιούμε είσοδο σε μέθοδο

Διαβάστε περισσότερα

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας

Διαβάστε περισσότερα

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

Γενικά (για τις γραπτές εξετάσεις) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #12 η : Επανάληψη Γαβαλάς Δαμιανός dgavalas@aegean.gr Γενικά (για τις γραπτές εξετάσεις) Δεν υπάρχει αυστηρά ορισμένη «ύλη εξετάσεων» (καθώς δεν έχετε

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);

Διαβάστε περισσότερα

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

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 7: Abstract Window Toolkit (AWT) Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

Διαβάστε περισσότερα

Μέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων

Μέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων Μέθοδοι Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων Μέθοδοι Οιµέθοδοικαθορίζουντηνσυµπεριφοράενόςαντικειµένου. Τα βασικά µέρη από τα οποία αποτελείται µία µέθοδος είναι τα εξής: Το όνοµα της µεθόδου

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Σύγκριση JAVA-C ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΣΥΓΚΡΙΣΗ JAVA - C ΤΥΠΟΙ

Διαβάστε περισσότερα

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες: Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήρια Δευτέρα 18:00-20:00,Τρίτη

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες

Διαβάστε περισσότερα

Βασικά της γλώσσας JAVA

Βασικά της γλώσσας JAVA 17 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΜΙΚΡΟΕΦΑΡΜΟΓΕΣ (APPLETS) Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΜΙΚΡΟΕΦΑΡΜΟΓΕΣ (APPLETS) ΕΙΣΑΓΩΓΗ ΣΤΑ APPLETS Ένα applet είναι ένα πρόγραμμα Java που τρέχει σε ένα πρόγραμμα περιήγησης στο Web (web browser). Ένα applet

Διαβάστε περισσότερα

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

Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε εφαρμογή σε Java Swing με χρήση του IDE NetBeans όπου θα παρουσιάζεται ποιο κουμπί πατήθηκε. Η εφαρμογή θα μοιάζει ως εξής: Πρώτο Βήμα: Αρχική

Διαβάστε περισσότερα

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

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 5 ο Έλεγχος Προγράµµατος Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Η εντολή if (Ι) Η εντολή if είναι µία από τις βασικότερες δοµές ελέγχου ροής στη C, αλλά και στις περισσότερες

Διαβάστε περισσότερα

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

Προγραµµατισµός ΙΙ Java 2 Προγραµµατισµός ΙΙ Java 2 Γραφικά Γραφικά Τα γραφικά µπορούν να προσαρτηθούν τόσο σε προγράµµατα που υποστηρίζουν γραφικό περιβάλλον εργασίας: Σε µικροεφαρµογές Σε παραθυρικές εφαρµογές Και ΟΧΙ σε εφαρµογές

Διαβάστε περισσότερα

3 ο Εργαστήριο Μεταβλητές, Τελεστές

3 ο Εργαστήριο Μεταβλητές, Τελεστές 3 ο Εργαστήριο Μεταβλητές, Τελεστές Μια μεταβλητή έχει ένα όνομα και ουσιαστικά είναι ένας δείκτης σε μια συγκεκριμένη θέση στη μνήμη του υπολογιστή. Στη θέση μνήμης στην οποία δείχνει μια μεταβλητή αποθηκεύονται

Διαβάστε περισσότερα

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

Κεφάλαιο Ι : Το περιβάλλον εργασίας και το πρώτο απλό πρόγραµµα σε Java. Κεφάλαιο Ι : Το περιβάλλον εργασίας και το πρώτο απλό πρόγραµµα σε Java. 1.1 Το λειτουργικό σύστηµα και το περιβάλλον εργασίας. Η εκµάθηση της γλώσσας προγραµµατισµού Java γίνεται κάτω από το λειτουργικό

Διαβάστε περισσότερα

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop.

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop. Ο βρόγχος While-loop 1. Ο βρόγχος while-loop εκτελείται έως ότου ικανοποιηθεί µία προκαθορισµένη συνθήκη. 2. Ο αριθµός των επαναλήψεων ενός βρόγχου while-loop δεν είναι εκ των προτέρων προκαθορισµένος,

Διαβάστε περισσότερα

Εισαγωγή. Κεφάλαιο 2: Βασικές έννοιες Java Κεφάλαιο 3: Χρήση της Java στις σελίδες σας Κεφάλαιο 4: Οι πρώτες σας μικροεφαρμογές...

Εισαγωγή. Κεφάλαιο 2: Βασικές έννοιες Java Κεφάλαιο 3: Χρήση της Java στις σελίδες σας Κεφάλαιο 4: Οι πρώτες σας μικροεφαρμογές... ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή... ix Κεφάλαιο 1: Τι είναι η Java;... 1 Ένα σύντομο μάθημα Ιστορίας...2 Γιατί να μάθει κανείς Java;...4 Διαδεδομένοι μύθοι για την Java...5 Τι θα χρειαστείτε...8 Οι διαφορετικές εκδόσεις

Διαβάστε περισσότερα

Σε αυτό το µάθηµα θα ασχοληθούµε µε τη βελτίωση της εµφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισµό όλων των αλλαγών στην εµφάνιση της σελίδας

Σε αυτό το µάθηµα θα ασχοληθούµε µε τη βελτίωση της εµφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισµό όλων των αλλαγών στην εµφάνιση της σελίδας Σε αυτό το µάθηµα θα ασχοληθούµε µε τη βελτίωση της εµφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισµό όλων των αλλαγών στην εµφάνιση της σελίδας µέσω της τεχνολογίας των ιαδοχικών Φύλλων Στυλ (cascading

Διαβάστε περισσότερα

5. MΑΚΡΟΕΝΤΟΛΕΣ. Η δηµιουργία Μακροεντολής γίνεται µε δύο τρόπους :

5. MΑΚΡΟΕΝΤΟΛΕΣ. Η δηµιουργία Μακροεντολής γίνεται µε δύο τρόπους : 5. MΑΚΡΟΕΝΤΟΛΕΣ. περιέχουν ένα σύνολο ενεργειών-κινήσεων-εντολών οι οποίες εκτελούνται όλες µαζί όταν εκτελείται η µακροεντολή που τις περιέχει. συντάσσονται : sub όνοµα µακροεντολής().....end sub. Οι

Διαβάστε περισσότερα

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

Διαβάστε περισσότερα

Βασικάχαρακτηριστικάτηςγλώσσας. Πίνακες, Έλεγχος Ροής και Βρόχοι

Βασικάχαρακτηριστικάτηςγλώσσας. Πίνακες, Έλεγχος Ροής και Βρόχοι Βασικάχαρακτηριστικάτηςγλώσσας Πίνακες, Έλεγχος Ροής και Βρόχοι Πίνακες Τρόπος αποθήκευσης πολλών στοιχείων που έχουν τον ίδιο πρωταρχικό τύπο δεδοµένων ή κλάση. Τα στοιχεία µπορεί να έχουν οποιοδήποτε

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II Strings Η κλάση String είναι προκαθορισμένη κλάση της Java που μας επιτρέπει να χειριζόμαστε αλφαριθμητικά. Ο τελεστής + μας επιτρέπει

Διαβάστε περισσότερα

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες

Διαβάστε περισσότερα

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Στην Java εκτός από τις κλασικές εφαρμογές μπορούμε να δημιουργήσουμε και άλλους δύο τύπους εφαρμογών: τα Applets, τα οποία τρέχουν μέσα από κάποιο φυλλομετρητή (browser) και τρέχουν

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι 1 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της

Διαβάστε περισσότερα

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi ee.duth.

Το πρόγραμμα 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 υποστηρίζει

Διαβάστε περισσότερα

7. Ανάπτυξη GUI σε Java

7. Ανάπτυξη GUI σε Java 7. Ανάπτυξη GUI σε Java Όταν ολοκληρώσετε αυτό το κεφάλαιο, θα μπορείτε: Να περιγράφετε το πακέτο AWT και τις συνιστώσες του. Να εξηγείτε τους containers (περιέκτες), components (συνιστώσες) και layout

Διαβάστε περισσότερα

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης H ΓΛΩΣΣΑ C Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C ηµήτρης Ψούνης 2 Περιεχόµενα Μαθήµατος Α. Θεωρία 1. Κύκλος Ανάπτυξης Προγράµµατος 1. Συγγραφή και Μεταγλώττιση ενός προγράµµατος 2. Εκτέλεση του προγράµµατος

Διαβάστε περισσότερα

Week 12: GUIs with Swing

Week 12: GUIs with Swing Week 12: GUIs with Swing Προγραµµατισµός ΓΠΕ: ανασκόπηση Εισαγόµενα πακέτα Java Εβδοµάδα 12: Γραφικά Περιβάλλοντα Επικοινωνίας Java µε Swing «Στήσιµο»του αυτόνοµου παράθυρου [frame] Συστατικά [components]

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08 Constructors (Κατασκευαστές) Ειδικός τύπος μεθόδων που δημιουργούν αντικείμενα μιας κλάσης και: Εκτελούνται κατά την αρχικοποίηση των αντικειμένων

Διαβάστε περισσότερα

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή

Διαβάστε περισσότερα

ΣΧΕ ΙΑΣΜΟΣ ΕΠΙΦΑΝΕΙΑΣ Με το σχεδιασµό επιφάνειας (Custom επιφάνεια) µπορούµε να σχεδιάσουµε επιφάνειες και αντικείµενα που δεν υπάρχουν στους καταλόγους του 1992. Τι µπορούµε να κάνουµε µε το σχεδιασµό

Διαβάστε περισσότερα

Βασικά στοιχεία της Java

Βασικά στοιχεία της Java Βασικά στοιχεία της Java προτάσεις, εκφράσεις, µεταβλητές, σταθερές, τελεστές Ορισµοί Πρόταση (statement) είναι µία απλή εντολή σε µία γλώσσα προγραµµατισµού. Γιαπαράδειγµα: int x=12; Έκφραση (expression)

Διαβάστε περισσότερα

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II HelloWorld.java class HelloWorld public static void main(string args[]) // print message System.out.println( Hello world! ); javac HelloWorld.java

Διαβάστε περισσότερα

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

Διαβάστε περισσότερα

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram.

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram. Εισαγωγή αρχείων δεδοµένων 1. Η εισαγωγή αρχείων δεδοµένων στο LaVIEW γίνεται στο Block Diagram µε την εντολή Read From Spreadsheet File. 2. Εισάγουµε την εντολή Read From Spreadsheet File στο Block Diagram

Διαβάστε περισσότερα

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack Κλάσεις στην Java Κλάσεις στη Java Παύλος Εφραιμίδης Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 1 Java Κλάσεις στη Java 2

Διαβάστε περισσότερα

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

Προγραμματισμός Διαδικτύου 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Προγραμματισμός Διαδικτύου Ενότητα 5 : Γραφικά με την χρήση του πακέτου AWT Ιωάννης Τσούλος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Περιεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13

Περιεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13 Περιεχόμενα Πρόλογος... 13 ΜΕΡΟΣ ΠΡΩΤΟ Κεφ. 1 Περί προγραμματισμού και γλωσσών προγραμματισμού Προγράμματα και Λειτουργικά Συστήματα... 17 Γλώσσες προγραμματισμού και εργαλεία ανάπτυξης προγραμμάτων...

Διαβάστε περισσότερα

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν Επαναληπτικές δοµές Η λογική των επαναληπτικών διαδικασιών εφαρµόζεται όπου µία ακολουθία εντολών εφαρµόζεται σε ένα σύνολο περιπτώσεων που έχουν κάτι κοινό. Όταν ψάχνουµε θέση για να παρκάρουµε κοντά

Διαβάστε περισσότερα

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

Διαβάστε περισσότερα

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

Διαβάστε περισσότερα

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

5. Τα βασικά των Applets στην Java Εισαγωγή στη γλώσσα προγραμματισμού Java 33 5. Τα βασικά των Applets στην Java Στην Java τα Applets εκτελούνται μέσα από κάποιον Java WWW Browser. Η αναφορά σε ένα Applet γίνεται σε μια WEB σελίδα μέσω

Διαβάστε περισσότερα

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include

Διαβάστε περισσότερα

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1 Κλάσεις στη Java Παύλος Εφραιμίδης Java Κλάσεις στη Java 1 Κλάσεις στην Java Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 2

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 3 ΕΛΕΓΧΟΣ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι. Ελεγκτές συνθηκών ή περιπτώσεων:

Διαβάστε περισσότερα

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος 4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος Μεταβλητές Συστήματος Η Processing χρησιμοποιεί κάποιες μεταβλητές συστήματος, όπως τις ονομάζουμε, για να μπορούμε να παίρνουμε πληροφορίες από το

Διαβάστε περισσότερα

Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA

Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Αφαιρέσεις στη Java Abstract μέθοδοι και abstract κλάσεις Interfaces (=διασυνδέσεις, διεπαφές) Instanceof Παραδείγματα κώδικα Αφηρημένες

Διαβάστε περισσότερα

Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλή

Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλή Απλές Δοµές Δεδοµένων Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος

Διαβάστε περισσότερα

8. Το μοντέλο συμβάντων του AWT

8. Το μοντέλο συμβάντων του AWT 8. Το μοντέλο συμβάντων του AWT Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να γράφετε κώδικα που θα αντιμετωπίζει συμβάντα που θα συμβαίνουν στη διεπαφή με το χρήστη Να χρησιμοποιείτε τις κατάλληλες διεπαφές

Διαβάστε περισσότερα

3. Εκφράσεις και έλεγχος ροής

3. Εκφράσεις και έλεγχος ροής 3. Εκφράσεις και έλεγχος ροής Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να διακρίνετε ανάμεσα σε μεταβλητές μέλη και αυτόματες μεταβλητές Να περιγράφετε την αρχικοποίηση των μεταβλητών μελών Να αναγνωρίζετε

Διαβάστε περισσότερα

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

public void printstatement() { System.out.println(Employee:  + name +  with salary:  + salary); Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας

Διαβάστε περισσότερα

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 4: JAVA: ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ, ΓΡΑΦΙΚΑ, APPLETS Γραφικά, Java Applets ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07 Συνέχεια για το for: ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07 Nested for-loops (for μέσα σε for): π.χ. int k; for (int i=0; i

Διαβάστε περισσότερα

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό 5 ο Εργαστήριο Λογικοί Τελεστές, Δομές Ελέγχου Λογικοί Τελεστές > μεγαλύτερο = μεγαλύτερο ή ίσο!= διαφορετικό Οι λογικοί τελεστές χρησιμοποιούνται για να ελέγξουμε

Διαβάστε περισσότερα

ΕΠΛ 012. JavaScripts

ΕΠΛ 012. JavaScripts ΕΠΛ 012 JavaScripts Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές

Διαβάστε περισσότερα

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

Διαβάστε περισσότερα

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

Διαβάστε περισσότερα

Κεφάλαιο VII : Εργαστηριακές ασκήσεις που αφορούν τη χρήση. τη χρήση γραµµατοσειρών και χρωµάτων καθώς και τη δηµιουργία γραφικών στη Java.

Κεφάλαιο VII : Εργαστηριακές ασκήσεις που αφορούν τη χρήση. τη χρήση γραµµατοσειρών και χρωµάτων καθώς και τη δηµιουργία γραφικών στη Java. Κεφάλαιο VII : Εργαστηριακές ασκήσεις που αφορούν τη χρήση γραµµατοσειρών και χρωµάτων καθώς και τη δηµιουργία γραφικών στη Java. Στο παρόν κεφάλαιο παρουσιάζονται εργαστηριακές ασκήσεις οι οποίες αφορούν

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ Κων. Κόκκινος ΠΙΝΑΚΕΣ (ARRAYS) Είναι χώροι της μνήμης για προσωρινή αποθήκευση δεδομένων του ίδιου τύπου. Οι πίνακες είναι δομές δεδομένων που τις

Διαβάστε περισσότερα

Η Βίβλος των CSS. Εισαγωγή στα CSS

Η Βίβλος των CSS. Εισαγωγή στα CSS Η Βίβλος των CSS Εισαγωγή στα CSS Τα Διαδοχικά Φύλλα Στυλ (CSS, Cascading Style Sheets) αποτελούν ένα πολύ καλό εργαλείο για να μπορούμε να αλλάζουμε την εμφάνιση και τη διάταξη (layout) των ιστοσελίδων

Διαβάστε περισσότερα

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

Εργαστήριο 2 - Άσκηση - Ανάλυση Εργαστήριο 2 - Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε την εφαρμογή Αριθμήτηριο σε Java Swing με χρήση NetBeans ακολουθώντας τις παρακάτω οδηγίες. 1. Η εφαρμογή θα σχεδιασθεί σε ένα εξωτερικό υποδοχέα

Διαβάστε περισσότερα

Κλάσεις και Αντικείµενα

Κλάσεις και Αντικείµενα Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν

Διαβάστε περισσότερα

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

Προγραµµατισµός ΙΙ Java 2 Προγραµµατισµός ΙΙ Java 2 Προχωρηµένα Θέµατα Πακέτα Τις κλάσεις που κατασκευάζουµε µπορούµε να τις οργανώνουµε σε πακέτα εν «κουβαλάµε» µια-µια τις κλάσεις που επιθυµούµε αλλά ένα συµπαγές αρχείο, το πακέτο

Διαβάστε περισσότερα