Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιασύνδεση µε χρήστη: Swing ΙΙ. Window Listeners

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

Download "Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιασύνδεση µε χρήστη: Swing ΙΙ. Window Listeners"

Transcript

1 Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 11η: 28/08/ ιασύνδεση µε χρήστη: Swing ΙΙ Creating User Interfaces: Swing ΙΙ 2 Window Listeners Κάνοντας click στο κουµπί close-window σε ένα JFrame ενεργοποιείται ένα γεγονός παραθύρου (window event) Τα window events είναι αντικείµενα της κλάσης WindowEvent Η µέθοδος setwindowlistener µπορεί να συσχετίσει (register) ένα window listener για κάποιο window event Ένας window listener µπορεί να προγραµµατιστεί ώστε ν αποκρίνεται σε αυτόν τον τύπο γεγονότος Ένας window listener είναι µια οποιαδήποτε κλάση που ικανοποιεί/υλοποιεί τη διεπαφή (interface) WindowListener 3 1

2 Window Listeners Μια κλάση που υλοποιεί το interface WindowListener πρέπει να έχει ορισµούς για όλες τις επτά µεθόδους του interface αυτού Εάν µια µέθοδος δεν είναι απαραίτητη, τότε πρέπει να οριστεί µε κενόσώµα public void windowdeiconified(windowevent e) { } 4 Μέθοδοι του interface WindowListener (1/2) 5 Μέθοδοι του interface WindowListener (2/2) 6 2

3 A Window Listener Inner Class Μια εσωτερική κλάση (inner class) συχνά λειτουργεί ως window listener για ένα JFrame Το επόµενο παράδειγµα χρησιµοποιεί µια window listener inner class µε όνοµα CheckOnExit addwindowlistener(new CheckOnExit()); Όταν γίνει click στο κουµπί close-window toy κυρίου παραθύρου, ενεργοποιείται ένα window event Αυτό λαµβάνεται από το anonymous window listener αντικείµενο Αυτό προκαλεί την ενεργοποίηση της µεθόδου windowclosing 7 A Window Listener Inner Class Η µέθοδος windowclosing δηµιουργεί και απεικονίζει ένα αντικείµενο της κλάσης ConfirmWindow Περιέχει το µήνυµα "Are you sure you want to exit?" όπως επίσης και τα κουµπιά "Yes" και "No" Εάν ο χρήστης κάνει click στο "Yes," το action event που ενεργοποιείται λαµβάνεται από τη µέθοδο actionperformed Τερµατίζει το πρόγραµµα µε µια κλήση στη µέθοδο System.exit Εάν ο χρήστης κάνει click στο "No," η µέθοδος actionperformed ενεργοποιεί τη µέθοδο dispose Αυτό προκαλεί την αποµάκρυνση του καλούντος αντικειµένου (δηλ., το µικρό παράθυρο της κλάσης ConfirmWindow), αλλά δεν επηρεάζει το κυρίως παράθυρο 8 Ένας window listener (1/8) 9 3

4 Ένας window listener (2/8) 10 Ένας window listener (3/8) 11 Ένας window listener (4/8) 12 4

5 Ένας window listener (5/8) 13 Ένας window listener (6/8) 14 Ένας window listener (7/8) 15 5

6 Ένας window listener (8/8) 16 Η µέθοδος dispose Η µέθοδος dispose της κλάσης JFrame χρησιµοποιείται για να απαλείψουµετοjframe χωρίς να τερµατίσουµε τοπρόγραµµα Οι πόροι του υπολογιστή που καταναλώνονται από αυτό το JFrame και τις συνιστώσες του επιστρέφονται για χρήση ξανά στο σύστηµα Εκτός εάν απαλειφθούν όλα τα στοιχεία (δηλ., σε ένα πρόγραµµα µε ένα παράθυρο), η παραπάνω µέθοδος δεν τερµατίζει το πρόγραµµα Η dispose χρησιµοποιείται συχνά σε ένα πρόγραµµα µε πολλαπλά παράθυρα για να εξαλείψουµε κάποιο παράθυρο χωρίς να τερµατίζουµε τοπρόγραµµα 17 Παγίδα: Παραλείποντας την ενεργοποίηση της setdefaultcloseoperation Ησυµπεριφορά που καθορίζεται από την setdefaultcloseoperation λαµβάνει χώρα ακόµα και εάν υπάρχει κάποιος window listener συσχετισµένος (registered) µε το JFrame Οποτεδήποτε κάποιος window listener συσχετίζεται (registered) ώστε ν αποκρίνεται σε window events, πρέπει να περιλαµβάνεται µια ενεργοποίηση της setdefaultcloseoperation Αυτήηενεργοποίησηγίνεταισυνήθωςµέσα στον JFrame constructor 18 6

7 Παγίδα: Παραλείποντας την ενεργοποίηση της setdefaultcloseoperation Εάν ο window listener λαµβάνει µέριµνα όλης της συµπεριφοράς του παραθύρου, τότε ο JFrame constructor πρέπει να περιέχει το ακόλουθο: setdefaultcloseoperation( JFrame.DO_NOTHING_ON_CLOSE) Εάναυτήηδήλωσηδενσυµπεριλαµβάνεται, ηεπόµενη εξ ορισµού ενέργεια θα λάβει χώρα, ανεξάρτητα από το εάν κάποιος window listener υποτίθεται ότι λαµβάνει µέριµνα γι αυτό: setdefaultcloseoperation(jframe.hide_on_close); Αυτή η δήλωση θα κρύψει το JFrame, αλλά δεν θατερµατίσει το πρόγραµµα 19 ΗκλάσηWindowAdapter Όταν µια κλάση δεν παρέχει πραγµατικές υλοποιήσεις για τις περισσότερες από τις µεθόδους του interface WindowListener, είναι καλύτερα να την κάνουµε παραγόµενη κλάση της κλάσης WindowAdapter Μόνο οι κεφαλίδες µεθόδων, που χρησιµοποιούνται, πρέπει να οριστούν Οι άλλες κεφαλίδες µεθόδων κληρονοµούν τετριµµένες υλοποιήσεις από την WindowAdapter, και έτσι δεν υπάρχει ανάγκη για κενά σώµατα µεθόδων Αυτό µπορεί να γίνει µόνο όταν η JFrame δεν χρειάζεται να παραχθεί (derived) από κάποια άλλη κλάση 20 Χρήση της WindowAdapter 21 7

8 Εικονίδια - Icons Τα JLabels, JButtons, και JMenuItems µπορεί να έχουν icons Ένα icon είναι απλά µια µικρή εικόνα εν απαιτείται να είναι µικρή Ένα icon είναι ένα αντικείµενο της κλάσης ImageIcon Βασίζεται σε ένα ψηφιακό αρχείο εικόνας όπως.gif,.jpg, ή.tiff Οι labels, buttons, και menu items µπορεί να εικονίζουν ένα string, ένα icon, ένα string µαζί µεέναicon, ή τίποτε από όλα αυτά 22 Εικονίδια - Icons ΗκλάσηImageIcon χρησιµοποιείται για να µετατρέψουµε µια εικόνα σε ένα Swing icon ImageIcon dukeicon = new ImageIcon("duke_waving.gif"); Το αρχείο εικόνας πρέπει να βρίσκεται στο ίδιο directory όπως και η κλάση στην οποία εµφανίζεται ο κώδικας, εκτός και εάν δίνουµε ένα πλήρες ή σχετικό µονοπατιού Σηµειώστε ότι το όνοµα του αρχείου εικόνας δίνεται ως string 23 Εικονίδια - Icons Ένα icon µπορεί να προστεθεί σε µια label µεχρήσητης µεθόδου seticon ως ακολούθως: JLabel dukelabel = new JLabel("Mood check"); dukelabel.seticon(dukeicon); Αντί γι αυτό, ένα icon µπορεί να δοθεί ως όρισµαστον constructor µιας JLabel: JLabel dukelabel = new JLabel(dukeIcon); Μπορεί να προστεθεί και κείµενο σε µια label µεχρήστη της µεθόδου settext: dukelabel.settext("mood check"); 24 8

9 Εικονίδια - Icons Τα icons και το κείµενο µπορεί να προστεθούν σε JButtons και JMenuItems µε τονίδιο τρόποόπως προστίθενται σε ένα JLabel JButton happybutton = new JButton("Happy"); ImageIcon happyicon = new ImageIcon("smiley.gif"); happybutton.seticon(happyicon); 25 Εικονίδια - Icons Τα button ή menu items µπορεί να δηµιουργηθούν µε µόνο ένα icon δίνοντας το αντικείµενο ImageIcon ως όρισµαστονconstructor JButton ή JMenuItem ImageIcon happyicon= new ImageIcon("smiley.gif"); JButton smilebutton= new JButton(happyIcon); JMenuItem happychoice= new JMenuItem(happyIcon); Ένα button ή menu item που δηµιουργείται χωρίς text θα πρέπει να χρησιµοποιεί τη µέθοδο setactioncommand για να θέτει ρητά την εντολή ενέργειας, αφού δεν υπάρχει string 26 Χρήση των icons (1/5) 27 9

10 Χρήση των icons (2/5) 28 Χρήση των icons (3/5) 29 Χρήση των icons (4/5) 30 10

11 Χρήση των icons (5/5) 31 Μερικές µέθοδοι των κλάσεων JButton, JMenuItem, και JLabel (1/4) 32 Μερικές µέθοδοι των κλάσεων JButton, JMenuItem, και JLabel (2/4) 33 11

12 Μερικές µέθοδοι των κλάσεων JButton, JMenuItem, και JLabel (3/4) 34 Μερικές µέθοδοι των κλάσεων JButton, JMenuItem, και JLabel (4/4) 35 ΗκλάσηInsets Τα αντικείµενα της κλάσης Insets χρησιµοποιούνται για να καθορίζουν το µέγεθος του περιθωρίου σε ένα button ή menu item Τα ορίσµατα που δίνονται όταν δηµιουργείται ένα αντικείµενο της κλάσης Insets είναι σε pixels ΗκλάσηInsets βρίσκεται στο package java.awt public Insets(int top, int left, int bottom, int right) 36 12

13 Μπάρες Ολίσθησης - Scroll Bars Όταν δηµιουργείται µια text area, οαριθµός των γραµµών που είναι ορατές και ο αριθµός των χαρακτήρων ανά γραµµή καθορίζεται ως εξής: JTextArea memodisplay = new JTextArea(15, 30); Όµως, είναι συχνά καλύτερο να µην χρειάζεται να θέτουµεένασταθερόόριοστοναριθµό των γραµµών ή των χαρακτήρων ανά γραµµή Αυτό µπορεί να γίνει µεχρήσητωνscroll bars στην text area 37 Μπάρες Ολίσθησης - Scroll Bars Όταν χρησιµοποιούµε scroll bars, το κείµενο εικονίζεται διαµέσου ενός view port που δείχνει µόνο ένα τµήµατουκειµένου κάθε φορά Ένα διαφορετικό τµήµα του κειµένου µπορεί να απεικονιστεί µεχρήσητωνscroll bars που τοποθετούνται κατά µήκος της πλευράς και της κάτω πλευράς της view port Οι scroll bars µπορεί να προστεθούν σε text areas µε χρήση της κλάσης JScrollPane ΗκλάσηJScrollPane βρίσκεται στο package javax.swing Ένα αντικείµενο της κλάσης JScrollPane είναι όπως ένα view port µε scroll bars 38 View Port για µια Text Area 39 13

14 Μπάρες Ολίσθησης - Scroll Bars Όταν δηµιουργείται ένα JScrollPane, η text area που θα απεικονιστεί δίνεται ως όρισµα JScrollPane scrolledtext = new JScrollPane(memoDisplay); Το JScrollPane µπορεί να προστεθεί σε έναν container, όπως το JPanel ή JFrame textpanel.add(scrolledtext); 40 Μπάρες Ολίσθησης - Scroll Bars Οι πολιτικές για τις scroll bar µπορεί να τεθούν ως εξής: scrolledtext.sethorizontalscrollbarpolicy( JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); scrolledtext.setverticalscrollbarpolicy( JscrollPane.VERTICAL_SCROLLBAR_ALWAYS); Εάν παραληφθούν οι ενεργοποιήσεις αυτών των µεθόδων, τότε οι scroll bars θα είναι ορατές µόνο εάν χρήσιµες Εάν όλο τοκείµενο χωράει στο view port, τότε οι scroll bars δενθα είναι ορατές Εάν προστεθείαρκετόκείµενο, οι scroll bars θα εµφανιστούν αυτόµατα 41 Μερικές µέθοδοι της κλάσης JScrollPane (1/2) 42 14

15 Μερικές µέθοδοι της κλάσης JScrollPane (2/2) 43 Μια Text Area µε Scroll Bars (1/8) 44 Μια Text Area µε Scroll Bars (2/8) 45 15

16 Μια Text Area µε Scroll Bars (3/8) 46 Μια Text Area µε Scroll Bars (4/8) 47 Μια Text Area µε Scroll Bars (5/8) 48 16

17 Μια Text Area µε Scroll Bars (6/8) 49 Μια Text Area µε Scroll Bars (7/8) 50 Μια Text Area µε Scroll Bars (8/8) 51 17

18 Συνιστώσες µε µεταβαλλόµενη ορατότητα Ένα GUI µπορείναέχεισυνιστώσεςπουαλλάζουν από ορατές σε µη ορατές και το ανάποδο Στο επόµενο παράδειγµα, η label µε τονduke χωρίς να χαιρετά δείχνεται πρώτα Όταν κάνουµε click στο κουµπί "Wave", η label µετον Duke χωρίς να χαιρετά εξαφανίζεται και εµφανίζεται η label µετονduke να χαιρετά Όταν κάνουµε click στο κουµπί "Stop", η label µετον Duke να χαιρετά εξαφανίζεται, και επιστρέφει η label µε τον Duke να µην χαιρετά Ο Duke είναι η mascot της Sun Microsystems για τη γλώσσα Java Μια συνιστώσα µπορεί να πάψει να είναι ορατή χωρίςναχρειάζεταινακάνουµε αόρατοολόκληροτο GUI 52 Labels µε µεταβαλλόµενη ορατότητα (1/6) 53 Labels µε µεταβαλλόµενη ορατότητα (2/6) 54 18

19 Labels µε µεταβαλλόµενη ορατότητα (3/6) 55 Labels µε µεταβαλλόµενη ορατότητα (4/6) 56 Labels µε µεταβαλλόµενη ορατότητα (5/6) 57 19

20 Labels µε µεταβαλλόµενη ορατότητα (6/6) 58 Σύστηµα συντεταγµένωνγιατααντικείµενα γραφικών Όταν σχεδιάζουµε αντικείµενα στην οθόνη, η Java χρησιµοποιεί ένα σύστηµασυντεταγµένων όπου η αρχή, δηλ., το σηµείο (0,0) είναι στην πάνω-αριστερή γωνία της οθόνης Η x-συντεταγµένη (οριζόντια) είναι θετική και αυξάνει προς τα δεξιά Η y-συντεταγµένη (κατακόρυφη) είναι θετική και αυξάνει προς τα κάτω Όλες οι συντεταγµένες είναι κανονικά θετικές Οι µονάδες και τα µεγέθη είναι σε pixels Ηπεριοχήπουχρησιµοποιείται για τη σχεδίαση είναι ένα JFrame ή JPanel 59 Σύστηµα συντεταγµένωνγιατααντικείµενα γραφικών Το σηµείο (x,y) βρίσκεται x pixels από την αριστερή ακµή της οθόνης, και y pixels προς τα κάτω, από την κορυφή της οθόνης Όταν τοποθετούµε ένα ορθογώνιο στην οθόνη, καθορίζουµε τηθέσητηςπάνω-αριστερής γωνίας του Όταν τοποθετούµεένασχήµα, διαφορετικό από ορθογώνιο, στην οθόνη, η Java περικλείει το σχήµα σε ένα φανταστικό ορθογώνιο, που αποκαλείται περικλείον κουτί (bounding box), και τοποθετεί την πάνω-αριστερή γωνία αυτού του ορθογωνίου 60 20

21 Σύστηµα συντεταγµένων της οθόνης 61 Η µέθοδος paint και η κλάση Graphics Σχεδόν όλες οι Swing καιοισχετικέςµε το Swing συνιστώσες και containers έχουν µια µέθοδο που λέγεται paint Η µέθοδος paint σχεδιάζει τη συνιστώσα ή container στην οθόνη Είναι ήδη ορισµένη, καικαλείταιαυτόµατα όταν το σχήµα απεικονίζεται στην οθόνη Όµως, πρέπει να ξαναοριστεί για να σχεδιάσουµε γεωµετρικά σχήµατα όπως κύκλους και κουτιά Όταν την ξαναορίζουµε, πρέπει πάντα να περικλείουµε την παρακάτω δήλωση: super.paint(g); 62 Η µέθοδος paint και η κλάση Graphics Κάθε container και συνιστώσα που µπορεί να σχεδιαστεί στην οθόνη έχει συσχετισµένο ένα αντικείµενο τύπου Graphics Η κλάση Graphics είναι µια abstract class που βρίσκεται στο package java.awt Αυτό το αντικείµενο έχει δεδοµένα που καθορίζουν ποια περιοχή της οθόνης καλύπτεται απότησυνιστώσαήτονcontainer Το αντικείµενο Graphics για ένα JFrame καθορίζει ότι η σχεδίαση γίνεται µέσα από τα όρια του αντικειµένου JFrame 63 21

22 Η µέθοδος paint και η κλάση Graphics Το αντικείµενο g της κλάσης Graphics µπορεί να χρησιµοποιηθεί ως το καλούν αντικείµενο για µια µέθοδο σχεδίασης Ησχεδίασηθαλάβειχώραµέσα από την περιοχή της οθόνης που καθορίζεται από το g Η µέθοδος paint έχει µια παράµετρο g τύπου Graphics Όταν ενεργοποιείται η µέθοδος paint, το g αντικαθίσταται από το αντικείµενο Graphics που είναι συσχετισµένο µετοjframe Εποµένως, τα σχήµατα σχεδιάζονται εντός του JFrame 64 Σχεδιάζοντας ένα απλό πρόσωπο (1/5) 65 Σχεδιάζοντας ένα απλό πρόσωπο (2/5) 66 22

23 Σχεδιάζοντας ένα απλό πρόσωπο (3/5) 67 Σχεδιάζοντας ένα απλό πρόσωπο (4/5) 68 Σχεδιάζοντας ένα απλό πρόσωπο (5/5) 69 23

24 Μερικές µέθοδοι της κλάσης Graphics (1/4) 70 Μερικές µέθοδοι της κλάσης Graphics (2/4) 71 Μερικές µέθοδοι της κλάσης Graphics (3/4) 72 24

25 Μερικές µέθοδοι της κλάσης Graphics (4/4) 73 Σχεδιάζοντας Ελλείψεις Μια έλλειψη (oval) σχεδιάζεται µε τηµέθοδο drawoval Τα ορίσµατα καθορίζουν τη θέση, το πλάτος (µεγάλος άξονας) και το ύψος (µικρός άξονας) του µικρότερου ορθογωνίου που περικλείει (το περιγεγραµµένο ορθογώνιο) την έλλειψη g.drawoval(100, 50, 300, 200); Ένας κύκλος είναι µια ειδική περίπτωση της έλλειψης, όπου το πλάτος και το ύψος του ορθογωνίου είναι ίσα g.drawoval(x_face, Y_FACE, FACE_DIAMETER, FACE_DIAMETER); 74 Σχεδιάζοντας ένα ευτυχισµένο πρόσωπο (1/5) 75 25

26 Σχεδιάζοντας ένα ευτυχισµένο πρόσωπο (2/5) 76 Σχεδιάζοντας ένα ευτυχισµένο πρόσωπο (3/5) 77 Σχεδιάζοντας ένα ευτυχισµένο πρόσωπο (4/5) 78 26

27 Σχεδιάζοντας ένα ευτυχισµένο πρόσωπο (5/5) 79 Σχεδιάζοντας Τόξα-Arcs Τα τόξα καθορίζονται δίνοντας µια έλλειψη, και κατόπιν καθορίζοντας ποιο τµήµατηςθα χρησιµοποιηθείγιαναπεριγράψειτοτόξο Ηεπόµενη δήλωση σχεδιάζει ένα χαµόγελο σε ένα ευτυχισµένο πρόσωπο: g.drawarc(x_mouth, Y_MOUTH, MOUTH_WIDTH, MOUTH_HEIGHT, MOUTH_START_ANGLE, MOUTH_ARC_SWEEP); Τα ορίσµατα MOUTH_WIDTH και MOUTH_HEIGHT καθορίζουν το µέγεθος του bounding box, ενώ τα ορίσµατα X_MOUTH και Y_MOUTH καθορίζουν τη θέση του Τα τελευταία δυο ορίσµατα καθορίζουν το τµήµα πουθα είναι ορατό 80 Καθορίζοντας ένα Τόξο-Arc (1/2) 81 27

28 Καθορίζοντας ένα Τόξο-Arc (2/2) 82 Στρογγυλεµένα (Rounded) ορθογώνια Ένα rounded rectangle είναι ένα ορθογώνιο του οποίου οι γωνίες έχουν αντικατασταθεί από τόξα έτσι ώστε οι γωνίες του να είναι στρογγυλεµένες g.drawroundrect(x, y, width, height, arcwidth, archeight) Τα ορίσµατα x, y, width, και height καθορίζουν το κανονικό οργογώνιο Τα τελευταία δυο ορίσµατα arcwidth, και archeight, καθορίζουν τα τόξα που θα χρησιµοποιηθούν για τις γωνίες Κάθε γωνία αντικαθίσταται µε ένα τέταρτο µιας έλλειψης το οποίο έχει arcwidth pixels πλάτος και archeight pixels ύψος Όταν τα arcwidth και archeight είναι ίσα, οι γωνίες θα είναι τόξα κύκλων 83 Ένα στρογγυλεµένο ορθογώνιο 84 28

29 paintcomponent για Panels Ένα JPanel είναι ένα JComponent, αλλά ένα JFrame είναι ένα Component, και όχι ένα JComponent Εποµένως, χρησιµοποιούν διαφορετικές µεθόδους σχεδίασης στην οθόνη Τα σχήµατα µπορούν να σχεδιαστούν σε ένα JPanel, και το JPanel µπορεί να τοποθετηθεί σε ένα JFrame Όταν ορίζουµε µια κλάση JPanel µε τον τρόπο αυτό, χρησιµοποιείται η µέθοδος paintcomponent αντί της µεθόδου paint Σε κάθε άλλη περίπτωση, οι λεπτοµέρειες είναι ίδιες όπως εκείνες για ένα JFrame 85 Επίδειξη ενός paintcomponent (1/4) 86 Επίδειξη ενός paintcomponent (2/4) 87 29

30 Επίδειξη ενός paintcomponent (3/4) 88 Επίδειξη ενός paintcomponent (4/4) 89 Action Drawings και repaint Η µέθοδος repaint θα πρέπει να ενεργοποιείται όταν τα γραφικά περιεχόµενα του παραθύρου αλλάζουν Η µέθοδος repaint κάνει κάποια προεργασία, και κατόπιν ενεργοποιεί τη µέθοδο paint, ηοποία ξανασχεδιάζει την οθόνη Παρόλο που η µέθοδος repaint πρέπει να ενεργοποιείται ρητά, είναι ήδη ορισµένη Σε αντίθεση, η µέθοδος paint, πρέπει να ορίζεται, αλλά δεν ενεργοποιείται ρητά 90 30

31 Ένα Action Drawing (1/7) 91 Ένα Action Drawing (2/7) 92 Ένα Action Drawing (3/7) 93 31

32 Ένα Action Drawing (4/7) 94 Ένα Action Drawing (5/7) 95 Ένα Action Drawing (6/7) 96 32

33 Ένα Action Drawing (7/7) 97 Μερικές λεπτοµέρειες για την ενηµέρωση ενός GUI Στο Swing, οι περισσότερες αλλαγές στο GUI ενηµερώνονται αυτόµατα για να γίνουν ορατές στην οθόνη Αυτό γίνεται µετοαντικείµενο repaint manager Παρόλο που ο repaint manager λειτουργεί αυτόµατα, υπάρχουν µερικές ενηµερώσεις που δεν τις εκτελεί Για παράδειγµα, εκείνες που γίνονται µετιςvalidate ή repaint Μια άλλη µέθοδος ενηµέρωσης είναι η pack Η pack αλλάζει το µέγεθος του παραθύρου στο επιθυµητό µέγεθος 98 Η µέθοδος validate Μια ενεργοποίηση της validate προκαλεί σε έναν container να ξανατοποθετήσει τις συνιστώσες του στην οθόνη Είναι ένα είδος µεθόδου "update" που κάνει τις αλλαγές στις συνιστώσες να εµφανιστούνστηνοθόνη Κάθε κλάση container έχει τη δική της µέθοδο validate, η οποία δεν δέχεται ορίσµατα Πολλές απλές αλλαγές σε ένα Swing GUI συµβαίνουν αυτόµατα, ενώ άλλες απαιτούν ενεργοποίηση της validate ή κάποιας άλλης µεθόδου "update" Όταν υπάρχει αµφιβολία δεν προκαλεί βλάβη η ενεργοποίηση της µεθόδου validate 99 33

34 Καθορίζοντας το χρώµα σχεδίασης Ηχρήσητηςµεθόδου drawline µέσα σε µια µέθοδο paint είναι παρόµοια µετησχεδίασηµε ένα µολύβι το οποίο µπορεί να αλλάζει χρώµατα Η µέθοδος setcolor θα αλλάξει το χρώµα του µολυβιού σχεδίασης Το χρώµα που καθορίζεται µπορεί να αλλαχτεί αργότερα µε µια άλλη ενεργοποίηση της setcolor έτσι ώστε ένα σχέδιο µπορείναέχειπολλαπλά χρώµατα g.setcolor(color.blue) 100 Προσθέτοντας χρώµα 101 Ορίζοντας χρώµατα Τα standard χρώµατα στην κλάση Color είναι ήδη ορισµένα Αυτά παρατίθενται στην επόµενη διαφάνεια ΗκλάσηColor µπορεί να χρησιµοποιηθεί για να οριστούν επιπλέον χρώµατα Χρησιµοποιεί το σύστηµα χρωµάτων RGB, το οποίο χρησιµοποιεί διαφορετικές ποσότητες κόκκινου (red), πράσινου (green), και γαλάζιου (blue) χρώµατος για να παράξει οποιοδήποτε χρώµα

35 Οι σταθερές χρώµατος 103 Ορίζοντας χρώµατα Integers ή floats µπορεί να χρησιµοποιηθούν γιανακαθορίσουµετοποσότουred, green, και/ή blue σε ένα χρώµα Οι integers πρέπει να βρίσκονται στην περιοχή (inclusive) Color brown = new Color(200, 150, 0); Οι τιµές float πρέπει να βρίσκονται στην περιοχή (inclusive) Color brown = new Color((float)(200.0/255), (float)(150.0/255), (float)0.0); 104 Παγίδα: Χρησιµοποιώντας doubles για να ορίσουµε χρώµα Οι constructors της κλάσης Color δέχονται µόνο ορίσµατα τύπου int ή float Χωρίς προσαρµογή (cast), αριθµοί όπως 200.0/255, 0.5, και 0.0 θεωρούνται τύπου double, και όχι τύπου float εν πρέπει να ξεχνάµενακάνουµε type cast όταν θέλουµεναχρησιµοποιούµε αριθµούς float Σηµειώστε ότι αυτοί οι αριθµοί θα πρέπει να αντικαθίστανται από ορισµένες σταθερές (defined constants) σε οποιοδήποτε τελικό κώδικα public static final float RED_VALUE= (float)0.5;

36 Μερικές µέθοδοι της κλάσης Color (1/2) 106 Μερικές µέθοδοι της κλάσης Color (2/2) 107 Το παράθυρο διαλόγου JColorChooser ΗκλάσηJColorChooser µπορεί να χρησιµοποιηθεί για να επιτρέψουµε στο χρήστη να επιλέξει ένα χρώµα Η µέθοδος showdialog της κλάσης JColorChooser παράγει ένα παράθυρο επιλογής χρώµατος Οχρήστηςµπορεί να επιλέξει ένα χρώµα καθορίζοντας τιµές RGB ήεπιλέγονταςαπόδείγµατα χρωµάτων sample Color = JColorChooser.showDialog(this, "JColorChooser", samplecolor);

37 Το παράθυρο JColorChooser (1/5) 109 Το παράθυρο JColorChooser (2/5) 110 Το παράθυρο JColorChooser (3/5)

38 Το παράθυρο JColorChooser (4/5) 112 Το παράθυρο JColorChooser (5/5) 113 Η µέθοδος drawstring Η µέθοδος drawstring είναι παρόµοια µε τις µεθόδουςσχεδίασηςτηςκλάσηςgraphics Όµως, δείχνει κείµενο και όχι κάποιο σχέδιο Εάν δεν καθοριστεί το font, χρησιµοποιείται ένα default font g.drawstring(thetext, X_START, Y_Start);

39 Χρήση της drawstring (1/7) 115 Χρήση της drawstring (2/7) 116 Χρήση της drawstring (3/7)

40 Χρήση της drawstring (4/7) 118 Χρήση της drawstring (5/7) 119 Χρήση της drawstring (6/7)

41 Χρήση της drawstring (7/7) 121 Fonts Ένα font είναι ένα αντικείµενο της κλάσης Font ΗκλάσηFont βρίσκεται στο package java.awt Ο constructor της κλάσης Font δηµιουργεί ένα font µε συγκεκριµένο στυλ και µέγεθος Font fontobject = new Font("SansSerif", Font.PLAIN, POINT_SIZE); Ένα πρόγραµµα µπορεί να θέσει το font για τη µέθοδο drawstring µέσα στη µέθοδο paint g.setfont(fontobject); 122 Τύποι των Font Κάθε font που είναι διαθέσιµο στοσύστηµα µπορεί να χρησιµοποιηθεί από τη Java Όµως, η Java εγγυάται ότι τουλάχιστον τρία fonts θα είναι διαθέσιµα : "Monospaced", "SansSerif", και "Serif" Τα Serifs είναι µικρές γραµµές που finish off το τέλος των γραµµών στα γράµµατα Αυτό το S έχει serifs, αλλά αυτό το S δεν έχει Ένα "Serif" font έχει πάντα serifs Το Sans σηµαίνει χωρίς, έτσι το "SansSerif" font δεν έχει serifs "Monospaced" σηµαίνει ότι όλοι οι χαρακτήρες έχουν ίδιο πλάτος

42 Στυλ των Font Στα Fonts µπορεί να δοθεί συγκεκριµένο στυλ, όπως bold ή italic Πολλαπλά styles µπορούν να καθοριστούν συνδέοντάς τα µετοσύµβολο (δηλ., το δυαδικό σύµβολο του OR) new Font("Serif",Font.BOLD Font.ITALIC, POINT_SIZE); Το µέγεθος ενός font αποκαλείται point size Τα µεγέθη των χαρακτήρων καθορίζονται σε µονάδες γνωστές ως points Ένα point είναι το 1/72 µιας ίντσας (inch) 124 FontDisplay.java (1/2) 125 FontDisplay.java (2/2)

43 Εκτέλεση του FontDisplay.java 127 Μερικές µέθοδοι και σταθερές της κλάσης Font (1/2) 128 Μερικές µέθοδοι και σταθερές της κλάσης Font (2/2)

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

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

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

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

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

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

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

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

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #17

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #17 Week 10: Graphical User Interfaces Έννοιες του προγραμματισμού ΓΠΕ [GUI] Διάλεξη #17: Εισαγωγή στα Γραφικά Περιβάλλοντα Επικοινωνίας [Graphical User Interfaces] Συστατικά [components] Διάταξη [layout]

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

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. Applets. Εισαγωγικά

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

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

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

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

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

Week 10: Graphical User Interfaces

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

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

A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων

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

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

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

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

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

1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα

1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα 1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα 1. Σύστημα Συντεταγμένων Το σύστημα συντεταγμένων που έχουμε συνηθίσει από το σχολείο τοποθετούσε το σημείο (0,0) στο σημείο τομής των δυο αξόνων Χ και Υ.

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #18

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

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

Week 12: GUIs with Swing

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

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

9.1 JFC Swing. 9.1 JFC Swing Java (GUI) Java. Java Foundation Classes (JFC) Swing GUI. JFC Card Pile GameFrame GUI

9.1 JFC Swing. 9.1 JFC Swing Java (GUI) Java. Java Foundation Classes (JFC) Swing GUI. JFC Card Pile GameFrame GUI 9 2013 6 11 9.1 JFC Swing.................................... 9 1 9.2 (Graphics )................. 9 2 9.3.................................. 9 4 9.4 (Color ).............................. 9 6 9.5.......................................

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

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

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

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

8.1 Top-Level Swing Containers και Swing Components

8.1 Top-Level Swing Containers και Swing Components Εισαγωγή στη γλώσσα προγραμματισμού Java 59 8. Γραφικές διεπαφές τύπου Swing (Swing GUIs) Τα πακέτα που αρχίζουν με το πρόθεμα javax.swing παρέχουν ευέλικτα και ισχυρά εργαλεία ανάπτυξης GUI. Ιδιαίτερα

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

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. Συλλογές και Επαναλήπτες. Συλλογές - Collections

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

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

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

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

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

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

6.1 Εισαγωγή. 6.2 Ασφάλεια 6.1 Εισαγωγή Ενώ οι εφαρµογές στην Java εκτελούνται από έναν διερµηνευτή, οι µικροεφαρµογές (applets) εκτελούνται από έναν φυλλοµετρητή (browser εξεταστή) του διαδικτύου όπως τον Netscape Navigator και

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

0 SOLID_LINE 1 DOTTED_LINE 2 CENTER_LINE 3 DASHED_LINE 4 USERBIT_LINE

0 SOLID_LINE 1 DOTTED_LINE 2 CENTER_LINE 3 DASHED_LINE 4 USERBIT_LINE 1. Η κωδικοποίηση των χρωµάτων για σύστηµα γραφικών µε 16 χρώµατα Κωδικός Χρώµα Χρώµατος 0 BLACK 1 BLUE 2 GREEN 3 CYAN 4 RED 5 MAGENTA 6 BROWN 7 LIGHTGRAY 8 DARKGRAY 9 LIGHTBLUE 10 LIGHTGREEN 11 LIGHTCYAN

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

Γενικό Λύκειο Κρουσώνα - Σχολικό έτος 2013-2014 Εκπαιδευτικός: Παπαδάκης Σταµάτης

Γενικό Λύκειο Κρουσώνα - Σχολικό έτος 2013-2014 Εκπαιδευτικός: Παπαδάκης Σταµάτης Οδηγάµε το Γενικό Λύκειο Κρουσώνα - Σχολικό έτος 2013-2014 Φύλλο Εργασίας Προγραµµατισµός Εφαρµογής στο AppInventor http://ai2.appinventor.mit.edu Ακολουθώντας τα βήµατα αυτού του φύλλου εργασίας, θα αναπτύξουµε

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

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

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

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

Μέρος ΙΙ Εφαρμογές γραφικών με το πακέτο swing - 5. Περιεχόμενα

Μέρος ΙΙ Εφαρμογές γραφικών με το πακέτο swing - 5. Περιεχόμενα Μέρος ΙΙ Εφαρμογές γραφικών με το πακέτο swing - 5 Περιεχόμενα 1 Βασικές Έννοιες σε Εφαρμογές με Γραφικά... 12 1.1 Οι συνιστώσες τηs Java... 12 1.2 Tα πακέτα για συνιστώσες.... 12 1.3 Η κλάσεις στο πακέτο

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

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

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

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

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES 2. ΠΑΤΗΣΤΕ EDIT ΑΛΛΑΞΤΕ ΤΟ ΟΝΟΜΑ COMPANY CLOSE 3. ΠΑΤΗΣΤΕ NEW (CREATE NEW)

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING Swing H Swing είναι η βιβλιοθήκη της Java για τον προγραμματισμό GUIs (Graphical User Interfaces) [και πιο γενικά για

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

VK -14/10/2016 Σελίς 1

VK -14/10/2016 Σελίς 1 ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ ΕΙΣΑΓΩΓΗ Προγραµµατισµός µε Γραφικά (Εισαγωγή στη JavaSwing και γνωριµία µε το εργαλείο NetBeans) Εξαιρετικό παράδειγµα που συνδυάζει όλες τις έννοιες του αντικειµενοστρεφή

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING Επισκόπηση Swing H Swing είναι η βιβλιοθήκη της Java για τον προγραμματισμό GUIs (Graphical User Interfaces) [και πιο

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

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

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

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

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

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

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

ΜΑΘΗΜΑ 5 ΣΤΟΧΟΙ: Τρόπος 1:

ΜΑΘΗΜΑ 5 ΣΤΟΧΟΙ: Τρόπος 1: ΜΑΘΗΜΑ 5 ΣΤΟΧΟΙ: 1. Εισαγωγή Εικόνας 2. Εισαγωγή Αρχείου Γραφικού 3. Εισαγωγή Αυτόματου Σχήματος 4. Τροποποίηση Γραφικών Αντικειμένων 5. Αλλαγή Μεγέθους Γραφικού Αντικειμένου 6. Περιστροφή Γραφικού Αντικειμένου

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

7 ο Εργαστήριο Θόρυβος 2Δ, Μετακίνηση, Περιστροφή

7 ο Εργαστήριο Θόρυβος 2Δ, Μετακίνηση, Περιστροφή 7 ο Εργαστήριο Θόρυβος 2Δ, Μετακίνηση, Περιστροφή O θόρυβος 2Δ μας δίνει τη δυνατότητα να δημιουργίας υφής 2Δ. Στο παρακάτω παράδειγμα, γίνεται σχεδίαση γραμμών σε πλέγμα 300x300 με μεταβαλόμενη τιμή αδιαφάνειας

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

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

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

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

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

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

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

Γραφικές ιεπαφές Χρήστη και Γραφικά

Γραφικές ιεπαφές Χρήστη και Γραφικά Κεφάλαιο 18 Γραφικές ιεπαφές Χρήστη και Γραφικά Νοηµοσύνη είναι η ικανότητα να δηµιουργούµε τεχνητά αντικείµενα, ιδιαίτερα εργαλεία που φτιάχνουν εργαλεία. Henri Bergson Η ζωγραφική είναι µόνο µια γέφυρα

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

Cascading Style Sheets (CSS)

Cascading Style Sheets (CSS) Cascading Style Sheets (CSS) Τα Cascading Style Sheets προσφέρουν έναν εύκολο τρόπο για να ορίσουμε τη μορφοποίηση που επιθυμούμε να έχουν οι σελίδες μία τοποθεσίας του Παγκόσμιου Ιστού που δημιουργούμε.

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

Δημιουργώντας μια εφαρμογή ζωγραφικής. 2 η Εργασία

Δημιουργώντας μια εφαρμογή ζωγραφικής. 2 η Εργασία Δημιουργώντας μια εφαρμογή ζωγραφικής 2 η Εργασία Απαιτήσεις 1. Σύνδεση στο Διαδίκτυο (διότι οι εφαρμογές δημιουργούνται online) 2. Εγκατεστημένος ο Browser Google Chrome 3. Υπαρκτός λογαριασμός Gmail

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

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

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

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

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

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

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

ΠΠΜ 500: Προχωρημένη Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής. 2D Graphics API. Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.

ΠΠΜ 500: Προχωρημένη Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής. 2D Graphics API. Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac. 12. Δισδιάστατα γραφικά και 2D Graphics API Χειμερινό Εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Εισαγωγή στα 2D Graphics Graphics Contexts and Graphics

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

ΓΡΑΦΙΚΕΣ ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ- SWING (1)

ΓΡΑΦΙΚΕΣ ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ- SWING (1) ΓΡΑΦΙΚΕΣ ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ- SWING (1) Πλεονεκτήματα έναντι του awt Περισσότερα συστατικά Επεκτεταμένα χαρακτηριστικά συστατικών Καλύτερη εμφάνιση και αίσθηση Καλύτερος χειρισμός συμβάντων Πιο συμβατά προγράμματα

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

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιεπαφές και Εσωτερικές κλάσεις Interfaces and Inner Classes. ιεπαφές - Interfaces

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιεπαφές και Εσωτερικές κλάσεις Interfaces and Inner Classes. ιεπαφές - Interfaces Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 8η: 10/05/2006 & 11/05/2006

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

Computing and Information Systems Service. Windows XP

Computing and Information Systems Service. Windows XP Windows XP Όλοι οι υπολογιστές ανοικτής πρόσβασης στο Frederick χρησιµοποιούν Windows (2000 και XP), ένα λειτουργικό σύστηµα µε Γραφικό Περιβάλλον Εργασίας (Graphical User Interface), το οποίο χρησιµοποιεί

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

Βιοϊατρική τεχνολογία

Βιοϊατρική τεχνολογία Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Βιοϊατρική τεχνολογία Ενότητα 5: Οξύμετρο (OxyPro Project) Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr ΕΕΔΙΠ Μπέλλου Σοφία e-mail: sbellou@uowm.gr

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

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιαχείριση Εξαιρέσεων. Εισαγωγή στη ιαχείριση Εξαιρέσεων

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

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

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

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

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

Σχεδίαση με το AutoCAD

Σχεδίαση με το AutoCAD Σχεδίαση με το AutoCAD Δημιουργία Αποθήκευση Αρχείων, Σχεδίαση & Επεξεργασία Γεωμετρικών Σχημάτων. Το παράθυρο του AutoCAD Δημιουργία - Αποθήκευση Νέου Σχεδίου Από το menu εφαρμογής επιλέγετε New και εμφανίζεται

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

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ INTERFACES ΕΣΩΤΕΡΙΚΕΣ ΚΛΑΣΕΙΣ (INNER CLASSES) Αφηρημένες Κλάσεις (Abstract Classes) (1/6) Οι αφηρημένες κλάσεις χρησιμοποιούνται για την

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

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

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

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

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

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

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

Κεφάλαιο 3 Βασική Σχεδίαση και Επεξεργασία

Κεφάλαιο 3 Βασική Σχεδίαση και Επεξεργασία Περιεχόμενα Πρόλογος... 7 Εισαγωγή... 9 Κεφάλαιο 1: Στοιχεία Λειτουργίας του Υπολογιστή και του προγράμματος AutoCAD... 11 Κεφάλαιο 2: Στοιχεία Λειτουργικού Συστήματος... 15 Κεφάλαιο 3: Βασική Σχεδίαση

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση

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

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

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

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

Εισαγωγή στην OpenGL

Εισαγωγή στην OpenGL Εισαγωγή στην OpenGL Ε.1 Τι είναι η OpenGL; Ένας νέος χρήστης θα υποθέσει ότι η OpenGL είναι µια βιβλιοθήκη σχεδίασης γραφικών. Ωστόσο, µε τον όρο OpenGL δεν αναφερόµαστε σε µια συγκεκριµένη βιβλιοθήκη

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

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

Εργαστήριο 5 - Άσκηση - Ανάλυση Εργαστήριο 5 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε την εφαρµογή «ιακο ές» σε Java Swing µε χρήση NetBeans, χρησιµο οιώντας τις εικόνες ου θα βρείτε στο moodle και ακολουθώντας τις αρακάτω οδηγίες:

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

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

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

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

Περιεχόμενα. Γαβαλάς Δαμιανός

Περιεχόμενα. Γαβαλάς Δαμιανός Δικτυακά Πολυμέσα ΙΙ Διάλεξη #5 η : Τυπογραφία στο web Γαβαλάς Δαμιανός dgavalas@aegean.gr Περιεχόμενα Κατανόηση αρχών σχεδιασμού με γραμματοσειρές Κατανόηση των μονάδων μέτρησης που χρησιμοποιούνται στα

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

2.0 ΒΑΣΙΚΕΣ ΓΝΩΣΕΙΣ-ΟΡΟΛΟΓΙΕΣ

2.0 ΒΑΣΙΚΕΣ ΓΝΩΣΕΙΣ-ΟΡΟΛΟΓΙΕΣ 2.0 ΒΑΣΙΚΕΣ ΓΝΩΣΕΙΣ-ΟΡΟΛΟΓΙΕΣ Η σάρωση ενός εγγράφου εισάγει στον υπολογιστή μια εικόνα, ενώ η εκτύπωση μεταφέρει στο χαρτί μια εικόνα από αυτόν. Για να αντιληφθούμε επομένως τα χαρακτηριστικά των σαρωτών

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

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

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

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

Λειτουργία προγράµµατος

Λειτουργία προγράµµατος 1. Με το µπορείτε να παρατηρήσετε την µελέτη του STRAD σε τριδιάστατη όψη, να εµφανίσετε τα εντατικά µεγέθη, την παραµορφωµένη κατάσταση και τις ιδιοµορφές. Η εκκίνηση του προγράµµατος γίνεται από το µενού

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις. 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα

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

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

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

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

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

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

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

Τα Windows Πολύ Απλά και Πολύ Σύντομα

Τα Windows Πολύ Απλά και Πολύ Σύντομα Σαχπατζίδης Αβραάμ Καθηγητής Πληροφορικής Π.Ε 20 Master of Arts (M.A) in "Gender, New Forms of Education, New Forms of Employment and New Technologies in the Information Age". Τα Windows Πολύ Απλά και

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

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

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

Εργαστήριο #12. Βήμα 1 ο. Βήμα 2 ο. Βήμα 3 ο. Βήμα 4 ο.

Εργαστήριο #12. Βήμα 1 ο. Βήμα 2 ο. Βήμα 3 ο. Βήμα 4 ο. Εργαστήριο #12 Από τα προηγούμενα εργαστήρια: Το εργαστήριο αυτό είναι ανεξάρτητο από τα προηγούμενα επειδή όμως ασχολείται με τη γλώσσα JavaScript, βεβαιωθείτε ότι έχετε διαβάσει το εισαγωγικό Παράρτημα

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

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

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

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

Θα αναπτύξουμε μια εφαρμογή που θα λειτουργεί σαν κουμπί πανικού. Η εφαρμογή θα αποτελείται από δύο κουμπιά.

Θα αναπτύξουμε μια εφαρμογή που θα λειτουργεί σαν κουμπί πανικού. Η εφαρμογή θα αποτελείται από δύο κουμπιά. Δραστηριότητα Κουμπί Πανικού Περιγραφή Εφαρμογής Θα αναπτύξουμε μια εφαρμογή που θα λειτουργεί σαν κουμπί πανικού. Η εφαρμογή θα αποτελείται από δύο κουμπιά. Εικόνα 1 - Εφαρμογή Κουμπί Πανικού Το πρώτο

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

Κλάσεις. Τροποποιητές, ιασυνδέσεις, Πακέτα. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων

Κλάσεις. Τροποποιητές, ιασυνδέσεις, Πακέτα. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων Κλάσεις Τροποποιητές, ιασυνδέσεις, Πακέτα Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων Υπάρχουν 4τροποποιητές: default, public, private, protected. Default: εν προηγείται τροποποιητής του ονόµατος

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

ΤΕΙ Ιονίων Νήσων Εργαστηριακές Ασκήσεις στα Γεωγραφικά Συστήματα Πληροφοριών

ΤΕΙ Ιονίων Νήσων Εργαστηριακές Ασκήσεις στα Γεωγραφικά Συστήματα Πληροφοριών ΕΡΓΑΣΤΗΡΙΟ 2 ο : Εισαγωγή στα Γεωγραφικά Συστήματα Πληροφοριών ArcMap (2/2) Μέρος 1: (συνέχεια από τα προηγούμενα) Κάνουμε κλικ το εικονίδιο Add Data στην γραμμή εργαλείων standard και επιλέγουμε το αρχείο/τα

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

2. Με το εικονίδιο συντόμευσης στην επιφάνεια εργασίας των Windows.

2. Με το εικονίδιο συντόμευσης στην επιφάνεια εργασίας των Windows. 1.1 ΕΚΚΙΝΗΣΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ Το σχεδιαστικό μας πρόγραμμα ξεκινά με δύο τρόπους: 1. Με την ένδειξη Start στην επιφάνεια εργασίας. Ακολούθως επιλέγουμε την ένδειξη Programs και στην ενότητα του προγράμματος,

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

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

Εργαστήριο 8 - Άσκηση - Ανάλυση Εργαστήριο 8 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε την εφαρµογή «Simple Menu Editor» σε Java Swing µε χρήση NetBeans. Στην εφαρµογή αυτή ο χρήστης θα µ ορεί να φορτώνει, α οθηκεύει α λό αρχείο κειµένου

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

Graphics.h Διασύνδεση με τη Βιβλιοθήκη Γραφικών

Graphics.h Διασύνδεση με τη Βιβλιοθήκη Γραφικών Graphics.h Διασύνδεση με τη Βιβλιοθήκη Γραφικών Βήμα 1 Θα πρέπει να κατεβάσετε τα παρακάτω αρχεία: A) graphics.h http://www.uniqueness-template.com/devcpp/graphics.h Αποθήκευση στο: C:\Dev-Cpp\include

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

Atlantis - Νέο user interface

Atlantis - Νέο user interface New Desktop 1 Atlantis - Νέο user interface ATLANTIS - ΝΕΟ USER INTERFACE...2 ΓΕΝΙΚΗ ΠΑΡΟΥΣΙΑΣΗ...3 ΓΡΑΜΜΗ ΣΥΣΤΗΜΑΤΟΣ...4 ΜΠΑΡΑ ΧΡΗΣΤΗ (USER TOOLBAR)...5 ΚΕΝΤΡΙΚΟ ΜΕΝΟΥ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ...6 Κεντρικό μενού

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να καταλάβουν την διαφορά ανάμεσα σε τοπικές και καθολικές μεταβλητές. Nα κάνουν αποσφαλμάτωση

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

Φύλλο Εργασίας Τίτλος: Εισαγωγική Εφαρμογή

Φύλλο Εργασίας Τίτλος: Εισαγωγική Εφαρμογή Διάρκεια: 1 ώρα Τμήμα: Ονοματεπώνυμα ομάδας: Φύλλο Εργασίας Τίτλος: Εισαγωγική Εφαρμογή 1) 2) 3) Σκοπός της εργασίας αυτής είναι να εξοικειωθείτε με το περιβάλλον δημιουργίας εφαρμογών κινητής τηλεφωνίας

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

CSS Εργαστήριο 5. Θέση και διάταξη

CSS Εργαστήριο 5. Θέση και διάταξη Display - Επίδειξη CSS Εργαστήριο 5. Θέση και διάταξη Η ιδιότητα display καθορίζει πως και εάν ένα στοιχείο εμφανίζεται στην οθόνη. Τα περισσότερα στοιχεία, εξορισμού είναι είτε block είτε inline. Ένα

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

Create Sprite at Runtime

Create Sprite at Runtime Create Sprite at Runtime (with ActionScript 3.0) Free Flash Demos Tested on Adobe CS4 Το σενάριο: Να φτιάξεις ένα sprite (που στον «μουσαμά» του να υπάρχει μια ζωγραφιά, π.χ. ένα τετράγωνο). Αυτό να το

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

Στις επόµενες διαφάνειες θα δούµε τις ιδιότητες του CSS που µπορούµε να επηρεάσουµε µέσω του Dreamweaver.

Στις επόµενες διαφάνειες θα δούµε τις ιδιότητες του CSS που µπορούµε να επηρεάσουµε µέσω του Dreamweaver. Στις επόµενες διαφάνειες θα δούµε τις ιδιότητες του CSS που µπορούµε να επηρεάσουµε µέσω του Dreamweaver. 37 Αφού καθορίσετε τα βασικά στοιχεία του νέου κανόνα css, όπως είδαµε στις προηγούµενες διαφάνειες,

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

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

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

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

Η Βίβλος των CSS - Μέρος 3 Το Box Model, τα Περιθώρια και τα Περιγράμματα

Η Βίβλος των CSS - Μέρος 3 Το Box Model, τα Περιθώρια και τα Περιγράμματα Η Βίβλος των CSS - Μέρος 3 Το Box Model, τα Περιθώρια και τα Περιγράμματα Το Box Model Το box model στα CSS περιγράφει τα πλαίσια (boxes) που δημιουργούνται για τα στοιχεία (elements) της HTML. Το box

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 6η: Ερωτήσεις 2 Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm

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

ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 6 o ΕΡΓΑΣΤΗΡΙO

ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 6 o ΕΡΓΑΣΤΗΡΙO ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 6 o ΕΡΓΑΣΤΗΡΙO H φόρµα µε τίτλο «ΜΑΚΗS, θα περιέχει ένα ΤabbedPane µε 2 Καρτέλες. Στο 1 ο tab θα επιλέγεις τι θα πάρεις, και στο 2 ο θα τυπώνεται ο λογαριασμός σου 1. Θα

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

Ενότητα 15 Μορφοποίηση της Γραφικής Παράστασης

Ενότητα 15 Μορφοποίηση της Γραφικής Παράστασης Ενότητα 15 Μορφοποίηση της Γραφικής Παράστασης Ίσως η γραφική σας παράσταση δεν παρουσιάζεται όπως εσείς περιμένατε. Τα εργαλεία που προσφέρει το Excel για δημιουργία γραφικών παραστάσεων είναι ευέλικτα

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

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

Αντικείμενα στη Java. Παύλος Εφραιμίδης. Java Αντικείμενα στη Java 1 Αντικείμενα στη Java Παύλος Εφραιμίδης Java Αντικείμενα στη Java 1 Αντικείμενα (Objects) στην Java Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας

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

Στοιχεία ορισμού θέσης (Positioning Elements)

Στοιχεία ορισμού θέσης (Positioning Elements) Δικτυακά Πολυμέσα ΙΙ Εργαστήριο #7 0 : Ορισμός θέσης σε διατάξεις (positioned layouts). Γαβαλάς Δαμιανός dgavalas@aegean.gr Στοιχεία ορισμού θέσης (Positioning Elements) Οι ιδιότητες τοποθέτησης των CSS

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

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

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

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

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014 .. Μεθοδολογία Προγραμματισμού Abstract Κλάσεις και Interfaces Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία

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

Από τη UML στον Κώδικα. Μέρος Α

Από τη UML στον Κώδικα. Μέρος Α Από τη UML στον Κώδικα Μέρος Α περιεχόμενα παρουσίασης Κλάσεις Ισότητα αντικειμένων Μονόδρομες συσχετίσεις με πολλαπλότητα «ένα» Μονόδρομες συσχετίσεις με πολλαπλότητα «πολλά» Συλλογές από το σχέδιο στον

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

Δημιουργώντας γραφικά στο περιβάλλον 3Ds Max χρησιμοποιώντας βασικά εργαλεία

Δημιουργώντας γραφικά στο περιβάλλον 3Ds Max χρησιμοποιώντας βασικά εργαλεία Δημιουργώντας γραφικά στο περιβάλλον 3Ds Max χρησιμοποιώντας βασικά εργαλεία Στην άσκηση αυτή θα μάθετε πώς να χρησιμοποιήσετε βασικά εργαλεία στο περιβάλλον 3Ds Max για να δημιουργήσετε ένα τρισδιάστατο

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

3D FLASH ANIMATOR (3DFA)

3D FLASH ANIMATOR (3DFA) 3D FLASH ANIMATOR (3DFA) Εισαγωγή Τα βασικά στοιχεία του προγράµµατος 3DFA είναι οι ταινίες (movies), τα στοιχεία (elements), τα keyframes, τα γεγονότα (events) και οι ενέργειες (actions). Ταινίες (movies)

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

ΕΘΝΙΚΟ!ΜΕΤΣΟΒΙΟ!ΠΟΛΥΤΕΧΝΕΙΟ! ΣΧΟΛΗ!ΧΗΜΙΚΩΝ!ΜΗΧΑΝΙΚΩΝ!!

ΕΘΝΙΚΟ!ΜΕΤΣΟΒΙΟ!ΠΟΛΥΤΕΧΝΕΙΟ! ΣΧΟΛΗ!ΧΗΜΙΚΩΝ!ΜΗΧΑΝΙΚΩΝ!! ΕΘΝΙΚΟΜΕΤΣΟΒΙΟΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗΧΗΜΙΚΩΝΜΗΧΑΝΙΚΩΝ ΦΑΙΝΟΜΕΝΑΜΕΤΑΦΟΡΑΣΙ ΥΠΟΛΟΓΙΣΤΙΚΟΕΡΓΑΣΤΗΡΙΟ COMSOLMULTIPHYSICS ΠΑΡΑΔΕΙΓΜΑ)4 Ο :) ΡΟΗ)ΣΕ)ΑΓΩΓΟ)ΜΕ)ΑΠΟΤΟΜΗ)ΑΥΞΗΣΗ) ΔΙΑΤΟΜΗΣ) ΕΠΙΜΕΛΕΙΑ: ΕΛΕΝΗΚΟΡΩΝΑΚΗ ΠΕΡΙΕΧΟΜΕΝΑ

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

Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1)

Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1) Αντικείμενα (Objects) στην Java Αντικείμενα στη Java Παύλος Εφραιμίδης Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας μηνύματα το ένα στο άλλο

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

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

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

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

Οπτικός Προγραμματισμός σε NetBeans με Java Swing

Οπτικός Προγραμματισμός σε NetBeans με Java Swing Οπτικός Προγραμματισμός σε NetBeans με Java Swing 1 NetBeans Το NetBeans είναι το επίσημο ολοκληρωμένο περιβάλλον ανάπτυξης (IDE - Integrated Development Environment) για υλοποίηση εφαρμογών σε Java 8.

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

ΕΘΝΙΚΟ!ΜΕΤΣΟΒΙΟ!ΠΟΛΥΤΕΧΝΕΙΟ! ΣΧΟΛΗ!ΧΗΜΙΚΩΝ!ΜΗΧΑΝΙΚΩΝ!!

ΕΘΝΙΚΟ!ΜΕΤΣΟΒΙΟ!ΠΟΛΥΤΕΧΝΕΙΟ! ΣΧΟΛΗ!ΧΗΜΙΚΩΝ!ΜΗΧΑΝΙΚΩΝ!! ΕΘΝΙΚΟΜΕΤΣΟΒΙΟΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗΧΗΜΙΚΩΝΜΗΧΑΝΙΚΩΝ ΦΑΙΝΟΜΕΝΑΜΕΤΑΦΟΡΑΣΙ ΥΠΟΛΟΓΙΣΤΙΚΟΕΡΓΑΣΤΗΡΙΟ COMSOLMULTIPHYSICS ΠΑΡΑΔΕΙΓΜΑ)4 Ο :) ΡΟΗ)ΣΕ)ΑΓΩΓΟ)ΜΕ)ΑΠΟΤΟΜΗ)ΑΥΞΗΣΗ) ΔΙΑΤΟΜΗΣ) ΕΠΙΜΕΛΕΙΑ: ΕΛΕΝΗΚΟΡΩΝΑΚΗ ΠΕΡΙΕΧΟΜΕΝΑ

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

1.1.1 Το περιβάλλον εργασίας. Περιοχές της οθόνης και λειτουργία τους

1.1.1 Το περιβάλλον εργασίας. Περιοχές της οθόνης και λειτουργία τους 1 ΕΙΣΑΓΩΓΗ ΣΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΟΥ AutoCAD Δρ. Ευαγγελία Πέππα, ΑΜ, Διδάκτωρ Μηχανικός ΕΜΠ 1.1 Η επικοινωνία με το χρήστη 1.1.1 Το περιβάλλον εργασίας. Περιοχές της οθόνης και λειτουργία τους 1.1.1.1 Οθόνη

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

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

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

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα τοποθετούνται

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

Λεπτομέριες τοιχοποιίας Σχεδίαση κάτοψης

Λεπτομέριες τοιχοποιίας Σχεδίαση κάτοψης 1 Λεπτομέριες τοιχοποιϊας Σχεδίαση κάτοψης Λεπτομέριες τοιχοποιίας Σχεδίαση κάτοψης Ξεκινώντας το πρόγραμμα εμφανίζονται οι επιλογές σχετικά με το τι θέλετε να κάνετε. Δημιουργώντας Νέο Δωμάτιο Όταν ο

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

Μπορούμε να χρησιμοποιήσουμε τις παρακάτω μορφές συντεταγμένων με οποιοδήποτε συνδυασμό θέλουμε. Καρτεσιανές συντεταγμένες

Μπορούμε να χρησιμοποιήσουμε τις παρακάτω μορφές συντεταγμένων με οποιοδήποτε συνδυασμό θέλουμε. Καρτεσιανές συντεταγμένες ΣΥΝΤΕΤΑΓΜΕΝΕΣ Όταν σχεδιάζουμε, πρέπει να προσδιορίζουμε σημεία πάνω σε ένα επίπεδο. Μπορούμε να εντοπίσουμε οποιοδήποτε σημείο στο χώρο, αν ορίσουμε πρώτα ένα απόλυτο, σταθερό σημείο και να μετρήσουμε

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