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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcript

1 7. Ανάπτυξη GUI σε Java Όταν ολοκληρώσετε αυτό το κεφάλαιο, θα μπορείτε: Να περιγράφετε το πακέτο AWT και τις συνιστώσες του. Να εξηγείτε τους containers (περιέκτες), components (συνιστώσες) και layout managers (διαχειριστές μορφής) και πώς δουλεύουν για να δημιουργηθεί ένα GUI. Να περιγράφετε και να χρησιμοποιείτε layout managers: flow, border, grid και card για να πετύχετε το επιθυμητό δυναμικό layout Να χρησιμοποιείτε τους κατάλληλους containers frame και panel. Να τοποθετείτε panels μέσα σε άλλους containers ώστε να δημιουργείτε σύνθετα layouts 7.1 Το πακέτο java.awt Το πακέτο java.awt περιέχει κλάσεις για την παραγωγή widgets και συνιστωσών GUI. Μία βασική επισκόπηση του πακέτου παρουσιάζεται στο πιο κάτω διάγραμμα. Οι κλάσεις που παρουσιάζονται με έντονα γράμματα τονίζουν τα ζητήματα που θα μας απασχολήσουν σε αυτό το κεφάλαιο. 1

2 7.2 Ανάπτυξη γραφικών διεπαφών με το χρήστη Containers και Components Βασικά στοιχεία του AWT της Java είναι τα components (συνιστώσες) και τα containers (περιέκτες), τα οποία είναι και αυτά components. Components είναι τα γενικά ορατά στοιχεία ενός GUI, όπως ένα Button ή ένα Label (ετικέτα). Τα components τοποθετούνται σε μία «οθόνη» «προσθέτοντάς» τα σε ένα container. Γενικά ένα container περιέχει ένα ή περισσότερα components και, αν το επιθυμούμε, μπορεί να περιέχει άλλα containers. Σημείωση Το γεγονός ότι ένα container μπορεί να διατηρεί όχι απλά components, αλλά και containers είναι κρίσιμο και βασικό στη δημιουργία layouts που είναι ρεαλιστικής πολυπλοκότητας Τοποθέτηση components Η θέση ενός component σε ένα container καθορίζεται από το layout manager. Ένα container διατηρεί μία αναφορά σε ένα συγκεκριμένο στιγμιότυπο ενός LayoutManager. Όταν ένα container χρειάζεται να τοποθετήσει ένα component καλεί το layout manager για να το κάνει. Η ίδια εξουσιοδότηση (delegation) συμβαίνει και όταν θέλει να αποφασίσει το μέγεθος του component Μέγεθος component Επειδή ο layout manager γενικά είναι υπεύθυνος για το μέγεθος και τη θέση των components στον container του, δε θα πρέπει κανονικά να προσπαθήσετε να θέσετε το μέγεθος ή τη θέση των components μόνοι σας. Αν προσπαθήσετε να κάνετε κάτι τέτοιο (χρησιμοποιώντας οποιαδήποτε από τις μεθόδους setlocation(), setsize() ή setbounds()), ο layout manager υπερβαίνει την απόφασή σας. Αν πρέπει να ελέγχετε το μέγεθος ή τη θέση των components με τρόπο που δεν μπορεί να γίνει με κάποιον από τους συνήθεις layout managers είναι δυνατό να απενεργοποιήσετε το layout manager δίνοντας την ακόλουθη κλήση μεθόδου στον container σας: setlayout(null); Μετά αυτό το βήμα θα πρέπει να χρησιμοποιήσετε τα setlocation(), setsize() ή setbounds() σε component για να τα τοποθετήσετε σε container. Προσέξτε ότι η προσέγγιση αυτή οδηγεί σε layouts που εξαρτώνται από την πλατφόρμα εξ αιτίας των διαφορών ανάμεσα στο παραθυρικό σύστημα και των μεγεθών των γραμματοσειρών. Μία καλύτερη προσέγγιση είναι να δημιουργήσετε μία νέα κλάση του LayoutManager. 7.3 Frames Ένα Frame είναι μία υποκλάση του Window. Είναι ένα Window με τίτλο και γωνίες από τις οποίες μπορούμε να αλλάξουμε το μέγεθός του frame. 2

3 Δημιουργία ενός απλού Frame Η μέθοδος δημιουργίας Frame(String) στην κλάση Frame δημιουργεί ένα νέο, αόρατο αντικείμενο Frame με τον τίτλο του να καθορίζεται από το String. Ένα Frame μπορεί να αλλάξει μέγεθος χρησιμοποιώντας τη μέθοδο setsize(), η οποία του κληροδοτείται από την κλάση Component. Σημείωση Για να γίνει το Frame ορατό θα πρέπει να κληθούν οι μέθοδοι setvisible() και setsize(). Το πιο κάτω πρόγραμμα δημιουργεί ένα απλό πλαίσιο (frame) με συγκεκριμένο τίτλο, μέγεθος και χρώμα φόντου (background color). public class MyFrame extends Frame { public static void main(string args[]) { MyFrame fr = new MyFrame( Hello Out There! ); // Component method setsize() fr.setsize(500, 500); fr.setbackground(color.blue); fr.setvisible(true); // Component method show() public MyFrame(String str) { super(str); Εκτέλεση προγράμματος $ javac MyFrame.java $ java MyFrame 3

4 7.4 Panels Τα Panels, όπως τα frames, σας παρέχουν χώρο για να προσκολλήσετε ένα GUI component, συμπεριλαμβανομένων άλλων panels Δημιουργία panels Τα Panels δημιουργούνται χρησιμοποιώντας τη μέθοδος δημιουργίας Panel(). Από τη στιγμή που δημιουργείται ένα αντικείμενο Panel, πρέπει να προστεθεί σε ένα αντικείμενο Window ή Frame για να μπορεί να γίνει ορατό. Αυτό γίνεται με τη μέθοδο add() στην κλάση Container. Το πιο κάτω πρόγραμμα δημιουργεί ένα μικρό κίτρινο panel, και το προσθέτει στο αντικείμενο Frame. public class FrameWithPanel extends Frame { // Constructor public FrameWithPanel (String str) { super(str); public static void main (String args[]) { FrameWithPanel fr = new FrameWithPanel( Frame with Panel ); Panel pan = new Panel(); fr.setsize(200,200); fr.setbackground(color.blue); fr.setlayout(null); // override default layout mgr pan.setsize(100,100); pan.setbackground(color.yellow);... Ιδού το αποτέλεσμα: fr.add(pan); fr.setvisible(true); 4

5 7.5 Container Layouts Το layout των components σε ένα container μπορεί να καθορίζεται από έναν layout manager. Κάθε container, όπως ένα panel ή ένα frame έχει έναν εξ ορισμού layout manager που σχετίζεται μαζί του, το οποίο μπορεί να αλλάξει από τον προγραμματιστή Java όταν δημιουργείται ένα στιγμιότυπο αυτού του container Layout Managers Στη γλώσσα Java υπάρχουν layout managers: FlowLayout Ο εξ ορισμού layout manager των Panels και Applets. BorderLayout Ο εξ ορισμού layout manager των Windows, Dialogs και Frames. GridLayout CardLayout GridBagLayout Δε θα ασχοληθούμε σε αυτό το κεφάλαιο με το GridBagLayout manager. 7.6 Ένα απλό παράδειγμα Ο πιο κάτω απλός κώδικας παρουσιάζει διάφορα ενδιαφέροντα σημεία και θα τον αναλύσουμε στη συνέχεια. public class ExGui { private Frame f; private Button b1; private Button b2; public static void main(string args[]) { ExGui that = new ExGui(); that.go(); public void go() { f = new Frame( GUI Example ); f.setlayout(new FlowLayout()); b1 = new Button( Press Me ); b2 = new Button( Don t press Me ); f.add(b1); f.add(b2); f.pack(); f.setvisible(true); 5

6 Η μέθοδος main() Η μέθοδος main() στο παράδειγμα αυτό κάνει δύο πράγματα, πρώτα δημιουργεί ένα στιγμιότυπο του αντικειμένου ExGui. Θυμηθείτε ότι μέχρι να υπάρξει ένα στιγμιότυπο, δεν υπάρχουν πραγματικά στοιχεία δεδομένων με τα ονόματα f, b1, και b2 προς χρήση. Όταν έχει δημιουργηθεί ο χώρος δεδομένων, η main() καλεί τη μέθοδο στιγμιοτύπου go() στα συμφραζόμενα αυτού του στιγμιοτύπου. Στην go() λαμβάνει χώρα η πραγματική δράση new Frame( GUI Example ) Αυτό δημιουργεί ένα στιγμιότυπο της κλάσης java.awt.frame. Ένα frame στη Java είναι ένα παράθυρο πρώτου επιπέδου, με τη μπάρα τίτλου η οποία ορίζεται από το όρισμα της μεθόδου δημιουργίας GUI Example στην περίπτωση αυτή και χειριστήρια αλλαγής μεγέθους και άλλα σχέδια (decoration) σύμφωνα με τις τοπικές συμβάσεις. Το frame έχει μηδενικό μέγεθος και δεν είναι προς το παρόν ορατό f.setlayout(new FlowLayout()) Αυτό δημιουργεί ένα στιγμιότυπο του flow layout manager, και το εγκαθιστά στο frame. Υπάρχει ένας εξ ορισμού layout manager για κάθε frame, αλλά δεν είναι κατάλληλος για τις ανάγκες μας στο παρόν παράδειγμα. Ο flow layout manager είναι ο απλούστερος στο AWT και τοποθετεί τα components περίπου όπως τις λέξεις σε μία σελίδα, γραμμή με γραμμή. Σημειώστε ότι ο flow layout στοιχίζει εξ ορισμού κάθε γραμμή στο κέντρο new Button( Press me ) Αυτό δημιουργεί ένα στιγμιότυπο της κλάσης java.awt.button. Ένα button είναι το σύνηθες push button που προέρχεται από την τοπική παραθυρική εργαλειοθήκη. Η ετικέτα του button ορίζεται από ένα όρισμα συμβολοσειράς στη μέθοδο δημιουργίας f.add(b1) Αυτό λέει στο frame f που είναι ένα container ότι πρόκειται να περιέχει το component b1. Τα buttons είναι παραδείγματα Java components. Το μέγεθος και η θέση του b1 είναι υπό τον έλεγχο του layout manager του frame από το σημείο αυτό και μετά f.pack() Η μέθοδος αυτή λέει στο frame να θέσει ένα μέγεθος που να «συμπεριλαμβάνει με ωραίο τρόπο» τα components που περιέχει. Για να πάρει τη σχετική απόφαση ρωτά το layout manager που είναι υπεύθυνος για το μέγεθος και τη θέση όλων όσων περιέχει το frame f.setvisible(true) Η μέθοδος αυτή προκαλεί το πλαίσιο (frame) και τα components του να γίνουν ορατά στο χρήστη. Το τελικό αποτέλεσμα του κώδικα αυτού σε περιβάλλον Windows δείχνει ως εξής: 6

7 7.7 Layout Managers Flow Layout Managers Το flow layout που χρησιμοποιήθηκε στο πρώτο παράδειγμα τοποθετεί τα components με βάση γραμμή-γραμμή. Κάθε φορά που γεμίζει μία γραμμή ξεκινά μία άλλη. Σε αντίθεση με άλλους layout managers, ο flow layout δεν περιορίζει το μέγεθος του component που χειρίζεται, αλλά αντίθετα τους επιτρέπει να έχουν ένα προτιμώμενο μέγεθος. Σημείωση Όλα τα components έχουν μία μέθοδο που ονομάζεται setpreferredsize() η οποία χρησιμοποιείται από τους layout managers για να ρωτήσουν το component σχετικά με το μέγεθος που προτιμά να έχει. Οι επιλογές στο flow layout σας επιτρέπουν να στοιχίζετε τα components στα δεξιά ή τα αριστερά, αν προτιμάτε κάτι τέτοιο σε σχέση με την εξ ορισμού συμπεριφορά που τα στοιχίζει στο κέντρο. Αν θέλετε να δημιουργήσετε μεγαλύτερη περιοχή ορίων ανάμεσα σε κάθε component μπορείτε να καθορίσετε insets. Όταν αλλάξετε το μέγεθος μίας περιοχής που χειρίζεται ένας flow layout manager, τότε μπορεί να αλλάξει το layout. Μετά την αλλαγή μεγέθους Τα ακόλουθα είναι παραδείγματα του πώς μπορείτε να υλοποιήσετε το FlowLayout χρησιμοποιώντας τη μέθοδο setlayout() η οποία κληροδοτείται από το Component. setlayout(new FlowLayout(FlowLayout.RIGHT, 20, 40)); setlayout(new FlowLayout(FlowLayout.LEFT)); setlayout(new FlowLayout()); Το ακόλουθο παράδειγμα προσθέτει διάφορα buttons σε ένα flow layout σε ένα frame public class MyFlow { private Frame f; private Button button1, button2, button3; public static void main(string args[]) { MyFlow mflow = new MyFlow(); mflow.go(); 7

8 public void go() { f = new Frame( Flow Layout ); f.setlayout(new FlowLayout()); button1 = new Button( Ok ); button2 = new Button( Open ); button3 = new Button( Close ); f.add(button1); f.add(button2); f.add(button3); f.setsize(100, 100); f.setvisible(true); Border Layout Manager Ο BorderLayout manager παρέχει ένα πιο σύνθετο σχήμα για την τοποθέτηση των components σας μέσα σε ένα panel ή window. Το BorderLayout περιέχει πέντε διακριτές περιοχές. North, South, East, West και Center. Η North καταλαμβάνει την κορυφή του panel, η East καταλαμβάνει τη δεξιά πλευρά κ.ο.κ. Η περιοχή Center αναπαριστά ό,τι έχει απομείνει από τη στιγμή που έχουν γεμίσει οι North, South, East, και West. Ο BorderLayout manager είναι ο εξ ορισμού layout manager για Dialogs και Frames. Στη συνέχεια παρουσιάζεται ο κώδικας που δίνει το ακόλουθο αποτέλεσμα. μετά την αλλαγή μεγέθους Σημείωση Οι σχετικές θέσεις των buttons δεν αλλάζουν καθώς αλλάζει το μέγεθος του παραθύρου, αλλά αλλάζουν τα μεγέθη των buttons. Ο ακόλουθος κώδικας είναι τροποποίηση του προηγούμενου παραδείγματος και παρουσιάζει τη συμπεριφορά του border layout manager. public class ExGui2 { private Frame f; 8

9 private Button bn, bs, bw, be, bc; public static void main(string args[]) { ExGui2 that = new ExGui2(); that.go(); public void go() { f = new Frame( Border Layout ); bn = new Button( B1 ); bs = new Button( B2 ); bw = new Button( B3 ); be = new Button( B4 ); bc = new Button( B5 ); f.add(bn, North ); f.add(bs, South ); f.add(bw, West ); f.add(be, East ); f.add(bc, Center ); f.setsize(200, 200); f.setvisible(true); Τα components πρέπει να προστίθενται στις ονοματισμένες περιοχές στο border layout manager, διαφορετικά δεν είναι ορατά. Προσέξτε να είναι ορθή η ορθογραφία των ονομάτων καθώς και τα κεφαλαία-πεζά. Μπορείτε να χρησιμοποιήσετε το border layout manager για να παράγετε layouts με στοιχεία που πρέπει να κάνουν stretch προς μία κατεύθυνση ή την άλλη, ή και τις δύο, όταν γίνεται αλλαγή μεγέθους. Αν αφήσετε μία περιοχή ενός border layout αχρησιμοποίητη συμπεριφέρεται σαν το προτιμητέο μέγεθος να ήταν μηδέν επί μηδέν. Συνεπώς η κεντρική περιοχή συνεχίζει να εμφανίζεται ως φόντο ακόμα και αν δεν περιέχει components, αλλά οι τέσσερις περιφερειακές περιοχές θα μειωθούν σε μία γραμμή μηδενικού πάχους και θα εξαφανιστούν. Πρέπει να προσθέτετε ένα μόνο component σε κάθε μία των πέντε περιοχών του border layout manager. Αν προσπαθήσετε να προσθέσετε περισσότερα από ένα, μόνο ένα από αυτά θα είναι ορατό. Θα δούμε στη συνέχεια πώς μπορείτε να χρησιμοποιήσετε ενδιάμεσους containers για να μπορέσετε να έχετε περισσότερα από ένα component στο χώρο μίας μόνο περιοχής ενός border layout manager. 9

10 Grid Layout Manager Ο grid layout manager παρέχει ευελιξία στην τοποθέτηση components. Δημιουργείτε το manager δίνοντας το πλήθος των γραμμών και των στηλών. Τα components θα γεμίσουν τα κελιά που ορίζει ο manager. Για παράδειγμα ένα grid layout με τρεις γραμμές και δύο στήλες, που δημιουργείται με την εντολή GridLayout(3,2) θα δημιουργήσει έξι κελιά όπως φαίνεται πιο κάτω: μετά την αλλαγή μεγέθους Όπως και με το BorderLayout manager, η σχετική θέση των components δεν αλλάζει όταν η περιοχή αλλάζει μέγεθος. Αλλάζουν μόνο τα μεγέθη των components. Παρατηρήστε ότι το πλάτος όλων των κελιών είναι το ίδιο και καθορίζεται ως η απλή διαίρεση του διαθέσιμου πλάτους δια το πλήθος των κελιών. Με παρόμοιο τρόπο το ύψος όλων των κελιών καθορίζεται απλά από το διαθέσιμο ύψος διαιρεμένο δια του πλήθους των γραμμών. Η σειρά με την οποία τοποθετούνται τα components στο grid καθορίζει το κελί που θα καταλάβουν. Οι γραμμές των κελιών γεμίζονται από τα αριστερά στα δεξιά, όπως το κείμενο, και η «σελίδα» γεμίζει με γραμμές από πάνω προς τα κάτω. Στη συνέχεια παρουσιάζεται ο κώδικας για το πιο πάνω παράδειγμα: public class GridEx { private Frame f; private Button b1, b2, b3, b4, b5, b6; public static void main(string args[]) { GridEx grid = new GridEx(); grid.go(); public void go() { f = new Frame( Grid Example ); f.setlayout(new GridLayout(3, 2)); b1 = new Button( 1 ); b2 = new Button( 2 ); b3 = new Button( 3 ); b4 = new Button( 4 ); b5 = new Button( 5 ); b6 = new Button( 6 ); 10

11 f.add(b1); f.add(b2); f.add(b3); f.add(b4); f.add(b5); f.add(b6); f.pack(); f.setvisible(true); CardLayout Ο CardLayout manager σας επιτρέπει να αντιμετωπίζετε τη διεπαφή σαν μία σειρά από κάρτες, μόνο κάθε μία από τις οποίες είναι ορατή σε κάθε χρονική στιγμή. Για παράδειγμα, παρουσιάζεται ένα Frame με 5 κάρτες. Ένα κλικ με το ποντίκι στο Panel του Frame αλλάζει στην επόμενη κάρτα. πατώντας κλικ έχουμε Τμήμα του απαιτούμενου κώδικα παρουσιάζεται στη συνέχεια: import java.awt.event.*; public class CardTest implements MouseListener { Panel p1, p2, p3, p4, p5; Label l1, l2, l3, l4, l5; // Declare a CardLayout object // so I can call its methods CardLayout mycard; Frame f; public static void main(string args[]) { CardTest ct = new CardTest(); ct.init(); public void init() { f = new Frame( Card Test ); 11

12 mycard = new CardLayout(); f.setlayout(mycard); // create the panels that I want // to use as cards p1 = new Panel(); p2 = new Panel(); p3 = new Panel(); p4 = new Panel(); p5 = new Panel(); // create a label to attach to each panel, and // change the color of each panel, so they are // easily distinguishable l1 = new Label( This is the first Panel ); p1.setbackground(color.yellow); l2 = new Label( This is the second Panel ); p2.setbackground(color.green); l3 = new Label( This is the third Panel ); p3.setbackground(color.magenta); l4 = new Label( This is the fourth Panel ); p4.setbackground(color.white); l5 = new Label( This is the fifth Panel ); p5.setbackground(color.cyan); // Set up the event handling here... // It is missing we will see it later // add each panel to my applet s CardLayout f.add(p1, First ); f.add(p2, Second ); f.add(p3, Third ); f.add(p4, Fourth ); f.add(p5, Fifth ); // display the first panel mycard.show(f, First ); f.setsize(200, 200); f.show(); 12

13 Άλλοι Layout Managers Εκτός από τους flow, border, grid και card layout managers, το βασικό java awt παρέχει επίσης το GridBagLayout. Ο grid bag layout manager παρέχει σύνθετες διευκολύνσεις για το layout, το οποίο βασίζεται σε ένα grid (πλέγμα), αλλά επιτρέπει σε ένα component να λάβει το μέγεθος που προτιμά μέσα στο κελί, αντί να γεμίζει ολόκληρο το κελί. Επίσης στο grid bag layout επιτρέπεται σε ένα component να καταλαμβάνει περισσότερα από ένα κελιά. 7.8 Containers To AWT παρέχει αρκετά containers. Το κεφάλαιο αυτό παρουσιάζει τα δύο πιο σημαντικά Frames Έχουμε ήδη δει το frame σε χρήση στα προηγούμενα παραδείγματα. Αναπαριστά ένα παράθυρο στο «υψηλότερο επίπεδο» με τίτλο, όρια και γωνίες από τις οποίες μπορεί να αλλάξει μέγεθος σύμφωνα με τις συμβάσεις της τοπικής πλατφόρμας. Αν δε χρησιμοποιήσετε ρητά μία κλήση στη μέθοδο setlayout(), ένα πλαίσιο έχει ως εξ ορισμό layout manager, τον border. Οι περισσότερες εφαρμογές θα χρησιμοποιήσουν τουλάχιστον ένα frame ως το βασικό σημείο των περισσότερων GUI τους, αλλά είναι απόλυτα δυνατό να χρησιμοποιηθούν πολλαπλά frames σε ένα μόνο κομμάτι κώδικα Panels Τα panels είναι contains και σχεδόν τίποτε άλλο. Δεν έχουν δική τους παρουσίαση και δεν μπορούν να χρησιμοποιηθούν ως αυτοδύναμα παράθυρα. Εξ ορισμού ένα panel σχετίζεται με το flow layout manager αλλά αυτό μπορεί να αλλάξει με χρήση και πάλι της μεθόδου setlayout(). Τα panels δημιουργούνται και προστίθενται σε άλλους containers με τον ίδιο τρόπο όπως τα components σαν τα buttons. Όμως, όπου προστίθεται ένα panel σε ένα container, υπάρχουν δύο σημαντικά πράγματα που μπορείτε να κάνετε στο προκύπτον panel και αυτά είναι: Να του δώσετε ένα δικό του layout manager, επιβάλλοντας διαφορετική προσέγγιση layout στην περιοχή που παρουσιάζεται. Να προσθέσετε components στο panel, ακόμα και αν, για παράδειγμα, το ίδιο το panel αποτελεί το μοναδικό component που μπορεί να προστεθεί σωστά σε μία περιοχή border layout Δημιουργία panels και σύνθετων layouts Τα panels δημιουργούνται με χρήση της μεθόδου δημιουργίας Panel(). Από τη στιγμή που έχει δημιουργηθεί ένα αντικείμενο Panel πρέπει να προστεθεί σε έναν άλλο container. Αυτό γίνεται όπως και πριν με χρήση της μεθόδου add() του container. 13

14 Το πιο κάτω πρόγραμμα χρησιμοποιεί ένα panel για να επιτρέψει σε δύο buttons να τοποθετηθούν στην περιοχή North ενός border layout. Αυτού του είδους η ένθεση είναι ουσιώδης σε σύνθετα layouts. Σημειώστε ότι το panel αντιμετωπίζεται όπως οποιοδήποτε άλλο component σε ό,τι αφορά το ίδιο το frame. public class ExGui3 { private Frame f; private Panel p; private Button bw, bc; private Button bfile, bhelp; public static void main(string args[]) { ExGui3 gui = new ExGui3(); gui.go(); public void go() { f = new Frame( Gui Example 3 ); bw = new Button( West ); bc = new Button( Work space region ); f.add(bw, West ); f.add(bc, Center ); p = new Panel(); f.add(p, North ); bfile = new Button( File ); bhelp = new Button( Help ); p.add(bfile); p.add(bhelp); f.pack(); f.setvisible(true); Μετά την εκτέλεση του παραδείγματος, το αποτέλεσμα στην οθόνη είναι κάπως έτσι: Αν το παράθυρο αλλάξει μέγεθος θα φαίνεται κάπως έτσι: 14

15 Παρατηρήστε ότι η περιοχή North του border layout στην πράξη πλέον περιέχει δύο buttons. Στην πράξη περιέχει απλά μόνο ένα panel, αλλά το panel περιέχει δύο buttons. Το μέγεθος και η θέση του Panel καθορίζεται από το border layout, το επιθυμητό μέγεθος του pane καθορίζεται από το επιθυμητό μέγεθος των components που βρίσκονται μέσα στο panel. Το μέγεθος και η θέση των buttons στο panel καθορίζονται από το flow layout που σχετίζεται εξ ορισμού με το panel. 7.9 Εργασίες Επίπεδο 1: Δημιουργείστε το GUI Δημιουργείστε ένα GUI για μία απλή αριθμομηχανή, περίπου όπως η επόμενη: Επίπεδο 3: Δημιουργήστε το GUI για λογαριασμούς Δημιουργείστε ένα GUI που θα παρέχει την διεπαφή με τον τελικό χρήστη για την υπηρεσία ανοίγματος λογαριασμού που περιγράψαμε στο κεφάλαιο 6. Μπορεί να χρειαστείτε ορισμένα components που δεν έχουμε περιγράψει ακόμα (θα περιγραφούν στη συνέχεια). 15

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

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

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

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 (στα ελληνικά Γραφική Διεπαφή με το Χρήστη) είναι το μέρος του

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

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

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

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

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

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

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

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

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

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

Εργαστήριο 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. Ιδιαίτερα

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

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

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

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

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

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

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

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

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

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

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

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

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

Week 12: GUIs with Swing

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

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

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

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

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

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

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

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

Το επόμενο σχήμα εμφανίζει την ιεραρχία των GUI-components κλάσεων μαζί με κάποιες επιπλέον συμπληρωματικές κλάσεις που διαχειρίζονται ένα GUI.

Το επόμενο σχήμα εμφανίζει την ιεραρχία των GUI-components κλάσεων μαζί με κάποιες επιπλέον συμπληρωματικές κλάσεις που διαχειρίζονται ένα GUI. Εισαγωγή στη γλώσσα προγραμματισμού Java 47 7. Abstract Windowing Toolkit (AWT) 7.1 Βασικά στοιχεία ενός GUI Ένα Graphical User Interface-GUI (στα ελληνικά Γραφική Διεπαφή με το Χρήστη) είναι το μέρος

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι 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

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

Εισαγωγικές έννοιες. Ιωάννης Γ. Τσούλος 2014

Εισαγωγικές έννοιες. Ιωάννης Γ. Τσούλος 2014 Εισαγωγικές έννοιες Ιωάννης Γ. Τσούλος 2014 Διάγραμμα παρουσιάσεως 1. Κατηγορίες κινητών τηλεφώνων 2. Κατηγορίες έξυπνων κινητών τηλεφώνων 3. Προγραμματισμός κινητών συσκευών 4. Ξεκίνημα με το Eclipse

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

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

VK -14/10/2016 Σελίς 1 Ο Source Kώδικας της JFrame Φόρµας µε όνοµα Αsk1 Με δεξί κλικ στο Source Packages του project Ergastirio1 µε New -> JFrame Form επιλέξαµε να δηµιουργηθεί η JFrame φόρµα (πλαίσιο) µε όνοµα κλάσης Class

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

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Επειδή οι μεταγενέστερες εκδόσεις του Word δεν περιλαμβάνουν στο μενού τη δυνατότητα δημιουργίας πολλαπλών

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

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

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

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

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

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

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

Σχεδόν όλες οι ιστοσελίδες βασίζονται σε μεγάλο βαθμό σε πίνακες. Για να εισάγουμε έναν πίνακα επιλέγουμε από το μενού Insert->Table.

Σχεδόν όλες οι ιστοσελίδες βασίζονται σε μεγάλο βαθμό σε πίνακες. Για να εισάγουμε έναν πίνακα επιλέγουμε από το μενού Insert->Table. DreamWeaver - Άσκηση 4η Πίνακες Παρακάτω θα δούμε πως μπορούμε να δημιουργούμε και να επεξεργαζόμαστε πίνακες, μια πολύ βασική δομή. Θα δούμε πως γίνεται εισαγωγή πίνακα, ένωση κελιών του πίνακα, προσθήκη

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

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

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

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

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

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

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

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795 Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795 Περιεχόμενα Εισαγωγή Εγκατάσταση Δημιουργία νέου project Java Editor Perspectives Δημιουργία source folders Προσθήκη νέου αρχείου στο project Εισάγωντας

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

Γράφοντας μουσική με το Finale 2006 (Δ μέρος)

Γράφοντας μουσική με το Finale 2006 (Δ μέρος) Γράφοντας μουσική με το Finale 2006 (Δ μέρος) Αυτό είναι το 4 ο άρθρο που περιλαμβάνει οδηγίες για την χρήση του FINALE 2006 για PC. Σ αυτή την ενότητα θα δούμε μερικά ακόμα εργαλεία του προγράμματος.

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

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

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

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

Εισαγωγή στους Υπολογιστές

Εισαγωγή στους Υπολογιστές Εισαγωγή στους Υπολογιστές Εργαστήριο 10 Καθηγητές: Αβούρης Νικόλαος, Παλιουράς Βασίλης, Κουκιάς Μιχαήλ, Σγάρμπας Κυριάκος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Εργαστήριο 10: Άσκηση

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

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> 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 υποστηρίζει

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Όλοι οι χρήστες του Turnitin πρέπει να δημιουργήσουν ένα προφίλ χρήστη.

Όλοι οι χρήστες του Turnitin πρέπει να δημιουργήσουν ένα προφίλ χρήστη. Οδηγίες για καθηγητές Για τη χρήση του Turnitin απαιτούνται τα παρακάτω βήματα: 1. Δημιουργία λογαριασμού 2. Δημιουργία τάξης και διαχείριση πληροφοριών τάξης 3. Δημιουργία εργασίας και σχετικές ρυθμίσεις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10.1 Γενικά για τα streams

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

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

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

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

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

Κεφάλαιο 2: Βασικά χαρακτηριστικά και δυνατότητες των G.I.S.

Κεφάλαιο 2: Βασικά χαρακτηριστικά και δυνατότητες των G.I.S. Κεφάλαιο 2: Βασικά χαρακτηριστικά και δυνατότητες των G.I.S. Σύνοψη Στο κεφάλαιο αυτό γίνεται μια περιγραφή των κύριων χαρακτηριστικών των G.I.S. και των βασικών δυνατοτήτων τους. Δίνονται οι βασικές έννοιες

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

B. Ενσωμάτωση Ιθαγενών Μεθόδων

B. Ενσωμάτωση Ιθαγενών Μεθόδων B. Ενσωμάτωση Ιθαγενών Μεθόδων Στο τέλος αυτού του κεφαλαίου θα μπορείτε: Να δημιουργείτε κώδικα Java που θα φορτώνει βιβλιοθήκες και θα καλεί ιθαγενείς μεθόδους (native methods). Να χρησιμοποιείτε τη

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 7: Ενθυλάκωση (encapsulation), Τροποποιητές(modifiers) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ενθυλάκωση -Τροποποιητές Πρόσβασης (Access Modifiers), public, protected, private,

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

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

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

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

2 ο Εργαστήριο Αλληλεπίδραση και Animation

2 ο Εργαστήριο Αλληλεπίδραση και Animation 2 ο Εργαστήριο Αλληλεπίδραση και Animation Τα προγράμματα που έχουμε δει μέχρι τώρα εκτελούν τον κώδικά τους μία φορά και το πρόγραμμα σταματάει. Ένα πρόγραμμα που δημιουργεί animation ή ανταποκρίνεται

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

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

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

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

12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006)

12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006) exercise 6new_10 12/5/2008 12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006) 12.6.1. Περιγραφή Θεωρήστε την γραφική διεπαφή της αριθµοµηχανής των MS Windows. Μια παρόµοια διεπαφή (δες

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

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

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

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

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 10/1/08 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 10/1/08 Συνέχεια Αναδρομής (recursion): Ο αλγόριθμος του Ευκλείδη για τον Μέγιστο Κοινό Διαιρέτη (ΜΚΔ) με αναδρομή: p, αν q=0 (βασική περίπτωση)

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

(Διαφάνειες Νίκου Βιδάκη)

(Διαφάνειες Νίκου Βιδάκη) (Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό

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

Τα 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 Πολύ Απλά και

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

Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012

Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012 Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-252 Αντικειµενοστρεφής Προγραµµατισµός Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012 Θέμα 1 Θέμα 2 Θέμα 3 Θέμα 4 Θέμα

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

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

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

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

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

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

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

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C# Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct

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

Δημιουργία μιας εφαρμογής Java με το NetBeans

Δημιουργία μιας εφαρμογής Java με το NetBeans Δημιουργία μιας εφαρμογής Java με το NetBeans Για να δημιουργήσετε μια εφαρμογή Java πρέπει να ακολουθήσετε τα εξής βήματα : Αρχικά πρέπει να δημιουργηθεί ένα project το οποίο θα περιέχει όλα τα αρχεία

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

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου. 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου ΣΤΟΧΟΙ:

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου. 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου ΣΤΟΧΟΙ: ΜΑΘΗΜΑ 1 ΣΤΟΧΟΙ: 1. Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου (Microsoft Word) 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου 3. Δημιουργία Νέου Εγγράφου 4. Δημιουργία Εγγράφου Βασισμένο Σε Πρότυπο 5. Κλείσιμο

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

9:00-10:00 π.μ. (60 λεπτά) Παρασκευή, 14 Οκτωβρίου, 2016

9:00-10:00 π.μ. (60 λεπτά) Παρασκευή, 14 Οκτωβρίου, 2016 Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 Ακαδημαϊκό Έτος 2016-17, Χειμερινό Εξάμηνο 1 η Ενδιάμεση

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

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 30/5/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Συλλογή απορριμμάτων Συλλογή απορριμμάτων (Garbage

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

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

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

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

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

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

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

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

Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Υπερφόρτωση (Overloading), Μεθόδων (Method Overloading), Τελεστών (Operator Overloading (C++, C#))

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

6. Εξαιρέσεις στη γλώσσα Java

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

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

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 3/4/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Γιατί έλεγχος πρόσβασης? Προστασία ιδιωτικής πληροφορίας

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

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

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

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

Τροποποίηση συνδυασμών κίνησης

Τροποποίηση συνδυασμών κίνησης Τροποποίηση συνδυασμών κίνησης Σε αυτήν την πρακτική εξάσκηση, θα τροποποιήσετε τους συνδυασμούς που έχουν εφαρμοστεί στην παρουσίαση της εταιρείας σας. Βήμα 1: Αλλαγή του εφέ για το κείμενο του τίτλου

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

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Υπολογιστικών Φύλλων. 2. Κύρια Οθόνη Της Εφαρμογής Υπολογιστικών Φύλλων ΣΤΟΧΟΙ:

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Υπολογιστικών Φύλλων. 2. Κύρια Οθόνη Της Εφαρμογής Υπολογιστικών Φύλλων ΣΤΟΧΟΙ: ΜΑΘΗΜΑ 1 ΣΤΟΧΟΙ: 1. Άνοιγμα Της Εφαρμογής Υπολογιστικών Φύλλων (Microsoft Excel) 2. Κύρια Οθόνη Της Εφαρμογής Υπολογιστικών Φύλλων 3. Δημιουργία Νέου Υπολογιστικού Φύλλου 4. Δημιουργία Υπολογιστικού Φύλλου

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2008 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2008 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες. ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2008 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες. Θέμα 1. Δημιουργήστε μια κλάση αντικειμένων Complex η οποία να περιγράφει

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

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1 HelloWorld Παύλος Εφραιμίδης Java Το πρόγραμμα HelloWorld 1 Το πρόγραμμα HelloWorld.java Σχόλια στη Java /** * The HelloWorld class */ class HelloWorld { public static void main(string[] args) { System.out.println("Hello

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

(3) Από την εργαλειοθήκη επιλέξτε το εργαλείο «ετικέτας (Label)». Δημιουργήστε μια ετικέτα στην φόρμα σας.

(3) Από την εργαλειοθήκη επιλέξτε το εργαλείο «ετικέτας (Label)». Δημιουργήστε μια ετικέτα στην φόρμα σας. Σαχπατζίδης Αβραάμ Καθηγητής Πληροφορικής Π.Ε 20 Master of Arts (M.A) in "Gender, New Forms of Education, New Forms of Employment and New Technologies in the Information Age". ΚΕΦΑΛΑΙΟ 2 Χρήση εργαλείων

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη 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.

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

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

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

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

Εισαγωγή εικόνας / γραφικού - διαγράμματος σε έγγραφο

Εισαγωγή εικόνας / γραφικού - διαγράμματος σε έγγραφο 3.4.2.1 Εισαγωγή εικόνας / γραφικού - διαγράμματος σε έγγραφο Εισαγωγή εικόνας σε έγγραφο Αν και ένα έγγραφο περιέχει ως επί το πλείστο κείμενο, μπορείτε να εισάγετε σε αυτό και άλλα αντικείμενα. Τα πιο

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

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

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

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε

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

1. Ξεκινώντας. 1.1 Τι είναι η Java. PDF created with FinePrint pdffactory Pro trial version

1. Ξεκινώντας. 1.1 Τι είναι η Java. PDF created with FinePrint pdffactory Pro trial version 1. Ξεκινώντας Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να περιγράψετε τα κύρια χαρακτηριστικά της γλώσσας Java Να περιγράψετε τη Java Virtual Machine Να περιγράψετε πώς λειτουργεί ο μηχανισμός «συλλογής

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Κων. Κόκκινος Μεταβλητές-1 Οι μεταβλητές αποτελούν θέσεις μνήμης στις οποίες αποθηκεύονται τιμές αντίστοιχες

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

Create Sprite at Runtime

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

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

ΣΥΝΤΟΜΟΣ ΟΔΗΓΟΣ ΧΡΗΣΗΣ MSN MESSENGER. Αρχικά πάμε στο μενού Programs και κλικάρουμε την επιλογή CHAT

ΣΥΝΤΟΜΟΣ ΟΔΗΓΟΣ ΧΡΗΣΗΣ MSN MESSENGER. Αρχικά πάμε στο μενού Programs και κλικάρουμε την επιλογή CHAT ΣΥΝΤΟΜΟΣ ΟΔΗΓΟΣ ΧΡΗΣΗΣ MSN MESSENGER Αρχικά πάμε στο μενού Programs και κλικάρουμε την επιλογή CHAT Στα προγράμματα που μας εμφανίζει επιλέγουμε το MSN MESSENGER Κλικάρουμε το START PROGRAM Μας εμφανίζεται

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

Πίνακες. ετικέτα <table>

Πίνακες. ετικέτα <table> Πίνακες ετικέτα σύνταξη κελί 1 κελί 2 κελί 3 κελί 4 : πίνακας : γραμμή : κελί Ιδιότητα border border : ορίζει

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

Ένας προκαταρκτικός οδηγός για τη δημιουργία μιας ιστοσελίδας wiki. Hfr Φεβρουάριος 08

Ένας προκαταρκτικός οδηγός για τη δημιουργία μιας ιστοσελίδας wiki. Hfr Φεβρουάριος 08 Ένας προκαταρκτικός οδηγός για τη δημιουργία μιας ιστοσελίδας wiki Hfr Φεβρουάριος 08 Δημιουργία λογαριασμού (1) Πηγαίνετε στη διεύθυνση: http://www.wikidot.com/ και πατάτε το κουμπί: create acoount. Έτσι

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

Περιεχόμενα ΓΕΩΠΥΛΗ ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΚΕΝΤΡΙΚΟ SITE. ΧΑΡΤΗΣ... 2 Είσοδος στην εφαρμογή «Χάρτης»... 2 Λειτουργίες εφαρμογής «Χάρτης»...

Περιεχόμενα ΓΕΩΠΥΛΗ ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΚΕΝΤΡΙΚΟ SITE. ΧΑΡΤΗΣ... 2 Είσοδος στην εφαρμογή «Χάρτης»... 2 Λειτουργίες εφαρμογής «Χάρτης»... Περιεχόμενα ΧΑΡΤΗΣ... 2 Είσοδος στην εφαρμογή «Χάρτης»... 2 Λειτουργίες εφαρμογής «Χάρτης»....2 Πλοήγηση στο χάρτη... 3 Σχεδίαση στο χάρτη... 4 Εκτύπωση του χάρτη... 6 Μετρήσεις επάνω στο χάρτη... 9 Εμφάνιση

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

Δραστηριότητα 1. Προγραμματίζω τον υπολογιστή (10 ώρες).

Δραστηριότητα 1. Προγραμματίζω τον υπολογιστή (10 ώρες). Προγραμματίζω τον υπολογιστή (10 ώρες). Δραστηριότητα 1 Στόχος της δραστηριότητας είναι να δημιουργήσουμε μια απλή εφαρμογή η οποία θα περιέχει ένα κουμπί και μια εικόνα μιας γάτας. Όταν ο μαθητής πατήσει

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

8. Μέθοδοι (Methods)

8. Μέθοδοι (Methods) 8. Μέθοδοι (Methods) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Μέθοδοι που παρέχονται από τη τάξη Math του Java API Χρήση στατικών μεθόδων και

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

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

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

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

6. ΓΕΩΓΡΑΦΙΚΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

6. ΓΕΩΓΡΑΦΙΚΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ 6. ΓΕΩΓΡΑΦΙΚΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Στη διάρκεια αυτού του εργαστηρίου θα δούμε τα δεδομένα της ICAP από μια διαφορετική οπτική γωνία, με τη χρήση συστημάτων GIS, κατά γεωγραφική περιοχή και ειδικά κατά

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

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

ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 2 o ΕΡΓΑΣΤΗΡΙO ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 2 o ΕΡΓΑΣΤΗΡΙO O δικός μας Calculator jtextbox1 με δεξί κλικ αλλαγή ονόματος σε calcbox Το πρώτο πρώτο, που θα κάνετε στην φόρμα σας είναι να αλλάξετε LAYOUT Μετά φτιάξτε

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

5.1.1 Περιγραφή των συστατικών τμημάτων ενός γραφήματος

5.1.1 Περιγραφή των συστατικών τμημάτων ενός γραφήματος 5. Γραφήματα 5.1 Εισαγωγή 5.1.1 Περιγραφή των συστατικών τμημάτων ενός γραφήματος Το Discoverer παρέχει μεγάλες δυνατότητες στη δημιουργία γραφημάτων, καθιστώντας δυνατή τη διαμόρφωση κάθε συστατικού μέρους

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

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)

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

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 INTERNET PHONE

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 INTERNET PHONE INTERNET PHONE A.S. DRIGAS Applied Technologies Department NCSR DEMOKRITOS Ag. Paraskevi GREECE dr@imm.demokritos.gr http://imm.demokritos.gr Το Internet Phone θέτει καινούργια δεδοµένα για την επικοινωνία

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