Δημιουργία αντικειμένων γραφικών διεπαφών (GUI objects) // Δημιουργία πλήκτρου με κείμενο OK JButton jbtok = new JButton("OK");

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

Download "Δημιουργία αντικειμένων γραφικών διεπαφών (GUI objects) // Δημιουργία πλήκτρου με κείμενο OK JButton jbtok = new JButton("OK");"

Transcript

1 Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #8 η : Τα βασικά των γραφικών διεπαφών στη Java, συμβάντα, χειριστές συμβάντων Γαβαλάς Δαμιανός dgavalas@aegean.gr Δημιουργία αντικειμένων γραφικών διεπαφών (GUI objects) // Δημιουργία πλήκτρου με κείμενο OK JButton jbtok = new JButton("OK"); // Δημιουργία ετικέτα με κείμενο "Enter your name: " JLabel jlblname = new JLabel("Enter your name: "); Label Text field Check Box Radio Button Button // Δημιουργία πεδίου κειμένου με κείμενο "Type Name Here" JTextField jtfname = new JTextField("Type Name Here"); // Δημιουργία check box με κείμενο bold JCheckBox jchkbold = new JCheckBox("Bold"); // Δημιουργία radio button με κείμενο red JRadioButton jrbred = new JRadioButton("Red"); // Δημιουργία combo box με επιλογές red, green, and blue JComboBox jcbocolor = new JComboBox(new String[]{"Red", "Green", "Blue"}); Combo Box 1

2 Swing έναντι AWT Γιατί τα GUIστοιχεία (components) έχουν πρόθεμα J; ΓιατίJButton και όχι απλά Button; Η πραγματικότητα είναι ότι υπάρχει κλάση που ονομάζεται Button και ανήκει στο πακέτο java.awt. Όταν δημιουργήθηκε η Java, οι GUI κλάσεις ανήκαν σε μια βιβλιοθήκη γνωστή ως Abstract Windows Toolkit (AWT). Το AWT είναι αρκετά καλά για ανάπτυξη απλών αλλά όχι απαιτητικών γραφικών διεπαφών, ενώ είναι ευάλωτη σε λάθη καθώς εξαρτάται σε μεγάλο βαθμό από την υποκείμενη πλατφόρμα. Με τη δημοσίευση της Java 2, τα AWT GUI components αντικαταστήθηκαν από μια πιο ισχυρή και ευέλικτη βιβλιοθήκη, τα Swing components. Τα Swing components σχεδιάζονται απευθείας στον καμβά με Java κώδικα, εκτός από όσα κληρονομούν την java.awt.window ή java.awt.panel, που σχεδιάζονται χρησιμοποιώντας γηγενές GUI σε μια συγκεκριμένη πλατφόρμα. Τα Swing components εξαρτώνται λιγότερο από την υποκείμενη πλατφόρμα και χρησιμοποιούν λιγότερους γηγενείς GUI πόρους. Έτσι, τα Swing components που δε βασίζονται σε γηγενή GUI στοιχεία αναφέρονται ως ελαφριά (lightweight components) ενώ τα υπόλοιπα ως βαριά heavyweight components). Ιεραρχία GUI κλάσεων (Swing) Dimension Font LayoutManager 1 Κλάσεις στο java.awt package bαριά FontMetrics Object Color Panel Applet JApplet Graphics Component * Container Window Frame Dialog JFrame JDialog JComponent Swing Components στο ja vax.swing pa ckage eλαφρά 2

3 Οι Container κλάσεις Dimension Font LayoutManager 1 Κλάσεις στο java.a wt packa ge βαριά FontMetrics Object Color Panel Applet JApplet Graphics Component * Container Window Frame Di alog JFrame JDialog Container classes can contain other GUI components. JComponent JPanel Swing Components στο javax.swing package ελαφρά Οι GUI βοηθητικές κλάσεις Dimension Font LayoutManager 1 Κλάσεις στο java.awt package βαριά FontMetrics Object Color Panel Applet JApplet Graphics Component * Container Window Frame Dialog JFrame JDialog The helper classes are not subclasses of Component. They are used to describe the properties of GUI components such as graphics context, colors, fonts, and dimension. JComponent ελαφρά JPanel Swing Components στο javax.swing package 3

4 Τα Swing GUI Components JCheckBoxMe nuitem JMenuItem JMenu AbstractButton JButton JRadioButtonMenuItem JToggleButton JCheckBox JComponent JEditorPane JRadioButton JTextComponent JTextField JPasswordField JTextArea JLa bel JL ist JComboBox JPanel JOptionPane JScrollBar JSlide r JTabbedPa ne JSplitPane JLayeredPane JSepa rator JScrollPane JRootPane JT oo lbar JMenuBar JPopupM enu JFileChooser JColorChooser JToolTip JT ree JTable JTableHeader JInternalFrame JProgressBar JSpinner Πλαίσια (Frames) Ένα Frame είναι ένα παράθυρο το οποίο δεν περιέχετα μέσα σε κάποιο άλλο παράθυρο. Το Frame αποτελεί τη βάση που περιέχει άλλα γραφικά components σε Java GUI εφαρμογές. Η κλάση JFrame μπορεί να χρησιμοποιηθεί για να δημιουργήσει παράθυρα (Swing GUI προγράμματα). 4

5 Δημιουργία Frames import javax.swing.*; public class MyFrame { public static void main(string[] args) { JFrame frame = new JFrame("Test Frame"); frame.setsize(400, 300); frame.setvisible(true); frame.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE); /* Αν δεν ήταν το κύριο παράθυρο της εφαρμογής θα επιλέγαμε JFrame.HIDE_ON_CLOSE. */ } } Προσθέτοντας Components σε ένα Frame Title bar // Προσθήκη ενός πλήκτρου στο frame frame.getcontentpane().add( new JButton("OK")); Content pane 5

6 Κλάση JFrame javax.swing.jframe +JFrame() +JFrame(titl e: String) +getsize(width: int, height: int): void +setlocation(x: int, y: in t): void +setvisible(visible: boolean): void +setdefaultcloseoperation(mode: int): void +setlocationrelativeto (c: Component): void Δημιουργεί ένα προκαθορισμένο frame χωρί ς τίτλο. Δημιουργεί ένα frame με τον καθορισμένοτίτλο τίτλο. Ορίζει το μέγεθος του frame. Ορίζει τη θέ ση της πάνω-αριστερής γωνί ας του frame. Θέτοντας true, εμφανίζει το frame. Ορίζει τη λε ιτουργία όταν κλείσει το frame. Θέτει τη θέση του fram e σχετικά με το συγκεκριμένο component. Αν το com ponent είναι null, τοποθετεί το frame στο κέντρο της οθόνης. Διαχειριστές διάταξης (Layout Managers) Οι layout managers της Java παρέχουν ένα επίπεδο αφαίρεσης για την αυτόματη αντιστοίχιση των γραφικών διεπαφών σας σε όλα τα παραθυρικά συστήματα Τα UI components τοποθετούνται σε «δοχεία» (containers) Κάθε container έχει ένα layout manager που διευθετεί τα UI components μέσα στον container Οι layout managers ανατίθενται σε containers χρησιμοποιώντας τη μέθοδο setlayout(layoutmanager) του container 6

7 Είδη Layout Managers FlowLayout GridLayout BorderLayout Και πολλοί άλλοι layout managers (BoxLayout, GridBagLayout, ) FlowLayout: Παράδειγμα Διατάσσει τα components σε μια γραμμή, αρχίζοντας μια νέα όταν ο container δεν είναι αρκετά πλατύς 7

8 Η κλάση FlowLayout java.awt.flowlayout -alignment: int -hgap: int -vgap: int +FlowLayout() +FlowLayout(alignment: int) +FlowLayout(alignment: int, hgap: int, vgap: int) Οι get και set μέθοδοι για αυτές τις ιδιότητες παρέχονται στην κλάση Η στοίχιση του layout manager (default: CENTER) Το οριζόντιο κενό (μεταξύ των components) του layout manager (default: 5 pixels) Το κάθετο gap του layout manager (default: 5 pixels) Δημιουργεί έναν default FlowLayout manager Δημιουργεί έναν FlowLayout manager με τη συγκεκριμένη στοίχιση Δημιουργεί έναν FlowLayout manager με τη συγκεκριμένη στοίχιση, οριζόντιο και κάθετο κενό GridLayout: Παράδειγμα Κάνει όλα τα components ίσα σε μέγεθος και τα εμφανίζει σε ένα καθορισμένο αριθμό γραμμών και στηλών, με καθορισμένο οριζόντιο και κάθετο κενό 8

9 Ο BorderLayout Manager Χωρίζει το container σε 5 περιοχές: East, South, West, North, and Center Ορίζονται και τα οριζόντια/κάθετα κενά Τα Components προστίθενται σε ένα BorderLayout χρησιμοποιώντας τη μέθοδο add. add(component, constraint), where Π.χ. το constraint μπορεί να είναι BorderLayout.EAST GridBagLayout & GroupLayout Ο GridBagLayout είναι ένας εξελιγμένος, ευέλικτος layout manager. Στοιχίζει τα components τοποθετώντας τα σε ένα πλέγμα κελιών, επιτρέποντας σε components να εκτείνονται σε περισσότερα από ένα κελιά. Οι γραμμές/στήλες μπορούν να έχουν διαφορετικά ύψη/πλάτη. ΟGroupLayout layout manager αναπτύχθηκε για να χρησιμοποιείται από εργαλεία ανάπτυξης GUIs (GUI builder tools), αλλά μπορεί να χρησιμοποιηθεί και χειροκίνητα. Ο GroupLayout δουλεύει με οριζόντιες και κάθετες διατάξεις ξεχωριστά. Η layout ορίζεται για κάθε σιάσταση ανεξάρτητα. 9

10 Η κλάση Color Μπορείτε να ορίσετε χρήματα για τα GUI components χρησιμοποιώντας την κλάση java.awt.color. Τα χρώματα ακολουθούν το RGB (red green blue) μοντέλο Κάθε μία από τις χρωματικές συνιστώσες αναπαρίσταται από μια τιμή byte που περιγράφει την ένταση της συνιστώσας: από 0 (η πιο σκούρα απόχρωση) έως 255 (η πιο ελαφριά απόχρωση) Color c = new Color(r, g, b); Παράδειγμα: Color c = new Color(228, 100, 255); Παράδειγμα χρήσης standard χρωμάτων (κλήση διαφορετικού κατασκευαστή): Color c = new Color(Color.BLACK); Ορίζοντας χρώματα Μπορείτε να χρησιμοποιήσετε τις ακόλουθες μεθόδους για να ορίσετε το χρώμα προσκηνίου/παρασκηνίου ενός component: setbackground(color c) setforeground(color c) Παράδειγμα: Jbutton btnok = new Jbutton("OK"); frame.getcontentpane().add(btnok); btnok.setbackground(color.yellow); btnok.setforeground(color.red); 10

11 H κλάση Font SansSerif, Serif, Monospaced, Dialog, DialogInput, Font.PLAIN, Font.ITALIC, + Font.ITALIC Font.BOLD, Font.BOLD Font myfont = new Font(name, style, size); Παράδειγμα: Font myfont = new Font("SansSerif", Font.BOLD, 16); Font myfont = new Font("Serif", Font.BOLD + Font.ITALIC, 12); JButton btnok = new JButton("OK ); btnok.setfont(myfont); Εύρεση όλων των διαθέσιμων ονομάτων γραμματοσειρών GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment(); String[] fontnames = e.getavailablefontfamilynames(); for (int i = 0; i < fontnames.length; i++) System.out.println(fontnames[i]); 11

12 Χρησιμοποιώντας Panels ως υπο-δοχεία Τα panels λειτουργούν ως υπο δοχεία (sub containers) για την ομαδοποίηση μέρους των GUI components. Συστήνεται να τοποθετείτε τα GUI components σε panels και σε δεύτερο χρόνο να τοποθετείτε panels σε ένα frame Αυτό δίνει το πλεονέκτημα να χρησιμοποιείς διαφορετικό layout manager σε κάθε panel Μπορείτε επίσης να τοποθετείτε panels σε ένα panel Για να προσθέσετε ένα component σε ένα JFrame, το προσθέτετε στο content pane του JFrame myframe.getcontentpane().add(new JButton("OK")); Για να προσθέσετε ένα component σε ένα panel, το προσθέτετε άμεσα χρησιμοποιώντας τη μέθοδο add mypanel.add(new JButton("OK")); Δημιουργία ενός JPanel Χρησιμοποιείτε τον κατασκευαστή new JPanel() για να δημιουργήσετε ένα panel με τον default FlowLayout manager ή new JPanel(LayoutManager) για να δημιουργήσετε ένα panel με καθορισμένο layout manager. Χρησιμοποιείτε τη μέθοδο add(component) για να προσθέσετε ένα component στο panel, π.χ.: JPanel p = new JPanel(); p.add(new JButton("OK")); 12

13 Άσκηση με panels για το σπίτι Αυτό το παράδειγμα χρησιμοποιεί panels για να οργανώσει τη διάταξη components Το πρόγραμμα δημιουργεί ένα GUI για έναν φούρνο μικροκυμάτων Στο frame εισάγονται ένα button και ένα panel (p1) Στο panel p1 εισάγονται ένα textfield και ένα εσωτερικό panel (p2) Στο panel p2 εισάγονται 12 buttons A button A textfield 12 buttons P2 P1 frame Περιγράμματα (Borders) Μπορείτε να ορίσετε το περίγραμμα ενός αντικειμένου της κλάσης JComponent. Η βιβλιοθήκη Swing διαθέτει διάφορους τύπους περιγραμμάτων, π.χ. επιτιτλισμένο περίγραμμα (titled border): new TitledBorder (String title). Περίγραμμα γραμμής (line border): new LineBorde r(color color, int width), όπου το width ορίζει το πάχος του περιγράμματος Παράδειγμα: προσθήκη ενός titled border σε ένα panel: JPanel panel = new JPanel(); panel.setborder(new TitleBorder( My Panel )); 13

14 Image Icons Η Java χρησιμοποιεί την κλάση javax.swing.imageicon για να αναπαραστήσει μια εικόνα Τυπικά πρόκειται για αρχεία γραφικών που χρησιμοποιούνται για να διακοσμηθούν components Παράδειγμα: ImageIcon icon = createimageicon("images/middle.gif", "a pretty image"); lbl = new JLabel("Image and Text", icon, JLabel.CENTER); (Event driven programming) 14

15 Διαδικαστικός προγραμματισμός έναντι προγραμματισμού καθοδηγούμενου από συμβάντα Στο διαδικαστικό προγραμματισμό μ (procedural programming) ο κώδικας εκτελείται με μια διαδικαστική σειρά. Στον προγραμματισμό καθοδηγούμενο από συμβάντα (event driven programming) ο κώδικας εκτελείται ενεργοποιούμενος από συμβάντα. Συμβάντα (Events) Ένα συμβάν μπορεί να οριστεί ως ένα είδος ειδοποίησης/σήματος του προγράμματος ότι κάτι έχει συμβεί Το συμβάν δημιουργείται από εξωτερικές δραστηριότητες του χρήστη όπως κινήσεις του ποντικιού, και πάτημα πλήκτρων του πληκτρολογίου, ή από το λειτουργικό σύστημα, όπως ένα χρονόμετρο (timer) 15

16 Κλάσεις συμβάντων ActionEvent AdjustmentEvent ContainerEvent FocusEvent MouseEvent EventObject AWTEvent ComponentEvent InputEvent ItemEvent TextEvent PaintEvent WindowEvent KeyEvent ListSelectionEvent Πληροφορία συμβάντος Ένα αντικείμενο συμβάντος (event object) περιέχει όποιες ιδιότητες σχετίζονται με το συμβάν. Μπορείτε να προσδιορίσετε το πηγαίο αντικείμενο του συμβάντος χρησιμοποιώντας τη μέθοδο getsource() της κλάσης EventObject. Οι υποκλάσεις της EventObject σχετίζονται με ειδικούς τύπους συμβάντων, όπως δράσεις πλήκτρων, συμβάντα παραθύρων, συμβάντα components, κινήσεις ποντικιού και πατήματα πλήκτρων. 16

17 Επιλεγμένες δραστηριότητες χρήστη Πηγαίο Τύπος συμβάντος Δραστηριότητα χρήστη Component που πυροδοτείται Κλικ σε ένα πλήκτρο JButton ActionEvent Κλικ σε ένα check box JCheckBox ItemEvent, ActionEvent Κλικ σε ένα radio button JRadioButton ItemEvent, ActionEvent Πάτημα <Enter> σε ένα text field JTextField ActionEvent Επιλογή ενός άλλου στοιχείου JComboBox ItemEvent,ActionEvent Άνοιγμα/κλείσιμο παραθύρου Window WindowEvent Πάτημα/ελευθέρωση ποντικιού Component MouseEvent Πάτημα/ελευθέρωση πλήκτρου Component KeyEvent To μοντέλο ανάθεσης συμβάντων (event delegation model) στη Java Η μοντέρνα πρακτική χειρισμού συμβάντων στη Java και σε αρκετές άλλες γλώσσες βασίζεται στην έννοια της πηγής του συμβάντος (Event Source) ) και των ακροατών συμβάντων (Event Listeners). Κάθε αντικείμενο που ενδιαφέρεται να ενημερωθεί για συμβάντα ονομάζεται ακροατής συμβάντων. Κάθε αντικείμενο που δημιουργεί (πυροδοτεί) τέτοια συμβάντα ονομάζεται πηγή του συμβάντος (ή πηγαίο component) Ποιοι συμμετέχουν στo μοντέλο ανάθεσης συμβάντων: Πηγή συμβάντος: αντικείμενο που εκπέμπει συμβάντα Ακροατές συμβάντων: αντικείμενα που λαμβάνουν ενημερώσεις για συμβάντα Αντικείμενα συμβάντων (event objects): αντικείμενα που περιγράφουν το συμβάν 17

18 To μοντέλο ανάθεσης συμβάντων (event delegation model) στη Java To μοντέλο ανάθεσης συμβάντων ορίζει μηχανισμούς για τη δημιουργία και επεξεργασία συμβάντων. Η γενική αρχή είναι αρκετά απλή: Ένα ακροατής καταχωρείται ως τέτοιος (καταγράφει δηλαδή το ενδιαφέρον του για να λάβει ειδοποιήσεις) σε μια πηγή συμβάντων Μια πηγή δημιουργεί ένα συμβάν και το στέλνει σε έναν ή περισσότερους ακροατές Σε αυτό το σχήμα, ο ακροατής απλά περιμένει μέχρι να λάβει κάποια ειδοποίηση για συμβάν Το πλεονέκτημα της μεθόδου ότι ο κώδικας (application logic) που επεξεργάζεται τα συμβάντα διαχωρίζεται καθαρά από τη γραφική διεπαφή (GUI logic) που δημιουργεί τέτοια συμβάντα Ένα γραφικό component μπορεί να «αναθέσει» ("delegate") την επεξεργασία ενός συμβάντος σε ένα ξεχωριστό κομμάτι κώδικα To μοντέλο ανάθεσης συμβάντων (event delegation model) στη Java Διαδικασία που ακολουθείται: 1. Ένα συμβάν συμβαίνει (π.χ., mouse click, τέλος ενός παιχνιδιού, νέος χρήστης μπαίνει στο chat, ht κλπ) ) 2. Η πηγή του συμβάντος στέλνει το συμβάν καλώντας τη συμφωνημένη μέθοδο σε όλους τους ακροατές συμβάντων 3. Ένα αντικείμενο συμβάντος (event object ) περνιέται ως παράμετρος στη συμφωνημένη μέθοδο 4. Οι ακροατές συμβάντων αντιδρούν κατάλληλα (π.χ., στέλνουν τα στοιχεία μιας φόρμας, εμφανίζουν μια game over οθόνη, εμφανίζουν ένα μήνυμα καλωσορίσματος στο νέο χρήστη του chat, κλπ) 18

19 To μοντέλο ανάθεσης (Delegation Model) Δράση χρή στη Πυροδότηση ενός συμβάντος source: SourceClass +addxlistener(listener: XListener) XLi stener +handler(event: ( XEvent ) (α) Ένα γενικό component από το οποίο πηγάζουν συμβάντα με ένα γενικό ακροατή Εγγραφή καλώντας τη μέθοδο source.addxlistener(listener); listener: ListenerClass source: JButton +addactionlistener(listener: ActionListener) ActionListener +actionperformed(event: ActionEvent) (β) Ένα JButton πηγαίο component με ένα ActionListener Εγγραφή με κλήση της μεθόδου source.addactionlistener(listener); listener: CustomListenerClass Εσωτερική λειτουργία ενός πηγαίου component πηγή: SourceClass πηγή: JButton +addxlistener(xli stener listener) Ένα συμβάν πυροδοτείται Κράτα το σε μια λίστα +addactionlistener(actionlistener listener) Ένα συμβάν πυροδοτείται Κράτα το σε μια λίστα event: XEvent Κά λεσε listener1.handler(event) listener2.handler(event) listenern.handler(event) listener1 listener2 listenern event: Act ionevent Κάλεσε listener1.actionperformed(event) listener2.actionperformed(event) listenern.actionperformed(event) listener1 listener2 listenern (α) Εσωτερική λειτουργία ενός γενικού πηγαίου αντικειμένου (β) Εσωτερική λειτουργία ενός γενικού JButton αντικειμένου 19

20 To μοντέλο ανάθεσης (delegation model): παράδειγμα Το αντικείμενο btnok θα είναι η πηγή συμβάντων (τα συμβάντα θα είναι clicks πάνω στο πλήκτρο) JButton btnok = new JButton("OK"); btnοκ.addactionlistener(new java.awt.event.actionlistener() { }); Η πηγή συμβάντων (btnok) καταγράφει ένα νέο ακροατή (τον οποίο θα ενημερώνει για τα ActionEvent) public void actionperformed (java.awt.event.actionevent evt) { } System.out.println( Με πάτησαν!!!! ); Ο «μπλε κώδικας» είναι πρακτικά μια ανώνυμη εσωτερική κλάση (inner class) χωρίς όνομα που υλοποιεί τον ακροατή του συμβάντος ActionEvent που τυχόν θα παράγει η πηγή συμβάντων btnok Επιλεγμένοι χειριστές συμβάντων (Event Handlers) Κλάση συμβάντος Διεπαφή ακροατή Μέθοδοι Ακροτατή (Χειριστές) ActionEvent ActionListener actionperformed(actionevent) ItemEvent ItemListener itemstatechanged(itemevent) WindowEvent WindowListener windowclosing(windowevent) windowopened(windowevent) windowiconified(windowevent) windowdeiconified(windowevent) windowclosed(windowevent) windowactivated(windowevent) windowdeactivated(windowevent) ContainerEvent ContainerListener componentadded(containerevent) componentremoved(containerevent) MouseEvent ent MouseListener mousepressed(mouseevent) see ent) mousereleased(mouseevent) mouseclicked(mouseevent) mouseexited(mouseevent) mouseentered(mouseevent) KeyEvent KeyListener keypressed(keyevent) keyreleased(keyevent) keytypeed(keyevent) 20

21 java.awt.event.actionevent java.util.eventobject +getsource(): Object Επιστρέφει τα αντικείμενο στο οποίο συνέβη το συμβάν java.awt.event.awtevent java.awt.event.actionevent +getactioncommand(): String +getmodifiers(): int +getwhen(): long Επιστρέφει τη συμβολοσειρά εντολής (command string) που σχετί ζεται με αυτή τη δράση. Για ένα πλήκτρο, το κείμενό του είναι η συμβολοσειρά εντολής. Επιστρέφει τα πλήκτρα που είναι πατημένα κατά τη διάρκεια της δράσης συμβάντος Επιστρέφει τη χρονική στιγμή (ti mes tamp ) που συνέβη το συμβάν (αριθμός milliseconds από την January 1, 1970) Εσωτερικές κλάσεις (inner classes) ακροατών Μια κλάση ακροατή σχεδιάζεται ειδικά για να δημιουργεί ένα αντικείμενο ακροατή για ένα GUI component (π.χ., έναν ακροατή για ένα πλήκτρο) Καθώς αυτή η κλάση δεν χρησιμοποιείται από άλλες εφαρμογές, είναι καλή ιδέα η κλάση ακροατή να οριστεί ως εσωτερική κλάση (inner class) στην κλάση του frame 21

22 Εσωτερικές κλάσεις (Inner Classes) Εσωτερική κλάση: μια κλάση που αποτελεί μέλος μιας άλλης κλάσης Πλεονεκτήματα: Σε κάποιες εφαρμογές, οι χρήση εσωτερικών κλάσεων απλουστεύουν την υλοποίηση Μια εσωτερική κλάση μπορεί να χρησιμοποιήσει οιή τις ιδιότητες και μεθόδους που ορίζονται στην εξωτερική κλάση που την εσωκλείει, άρα δεν χρειάζεται να περάσετε αναφορά της εξωτερικής κλάσης στον κατασκευαστή της εσωτερικής Εσωτερικές κλάσεις public class Test {... } public class A {... } (α) public class Test {... // εσωτερική κλάση public class A {... } } (β) // OuterClass.java: παράδειγμα εσωτερικής κλάσης public class OuterClass { private int data; } /** μια μέθοδος της εξωτερικής κλάσης */ public void m() { // Do something } // μια εσωτερική κλάση class InnerClass { /** μια μέθοδος της εσωτερικής κλάσης */ public void mi() { // άμεση προσπέλαση στις ιδιότητες/μεθόδους // που ορίζονται στην εξωτερική της κλάση data++; m(); } } (γ) 22

23 Αλληλεπίδραση μεταξύ πηγής και ακροατή συμβάντος 1. To btnok καταγράφει ως ακροατή του btnlistener καλώντας τη μέθοδο addactionlistener(btnlistner). 2. To btncancel καταγράφει ως ακροατή του btnlistener καλώντας τη μέθοδο addactionlistener(btnlistner). 3. To btnok καλεί τη μέθοδο actionperformed του btnlistener για να επεξεργαστεί ένα ActionEvent. 4. To btncancel καλεί τη μέθοδο actionperformed του btnlistener για να επεξεργαστεί ένα ActionEvent. : TestActionEvent jbtok: JButton jbtcancel: JButton btlistener: ButtonListener 1. addactionlistener 2. addactionlistener 3. actionperformed 4. actionperformed MouseEvent java.awt.event.inputevent +getwhen(): long +isalt Down(): boolean +iscontroldown(): boolean +ismetadown(): boolean +isshiftdown (): boolean java.awt.event.mouseevent +getbutton(): int +getclickcount(): int +getpoint(): java.awt.poin t +getx(): int +gety(): int Επιστρέφει τη χρονική στιγμή που συνέβη το συμβ άν Επιστρέφει κατά πόσο το Al t είναι πατημένο Επιστρέφει κατά πόσο το Control είναι πατημένο Επιστρέφει κατά πόσο το Meta είναι πατημένο Επιστρέφει κατά πόσο το Shift είναι πατημένο Δείχνει ποιο mouse button έχει πατηθεί Δείχνει τον αριθμό των mouse clicks Επιστρέφει ένα αντικείμενο Point που περιέχει τις x και y συντεταγμ Επιστρέφει τη x-συντεταγμένη του σημεί ου του mouse Επιστρέφει τη y- σ υντεταγμένη του σημείου του mouse 23

24 Χειρισμός Mouse συμβάντων java.awt.event.mousel istener +mousepressed(e: MouseEvent): void +mousereleased(e: MouseEvent): vo id +mouseclicked(e: MouseEvent): void +mouseentered(e: MouseEvent): void +mouseexited(e: MouseEvent): void java.awt.event.mousemotionlistener +mousedragged(e: MouseEvent): void +mousemoved(e: MouseEvent): void Καλείται όταν το mouse button έχει πατηθεί πάνω από το πηγαίο component Καλείται όταν το mouse button έχει απελευθερωθεί πάνω από το πηγαίο component Καλείται όταν έχει γίνει mouse κλικ (πάτημα + α πελευθέρωση) πάνω από το πηγαίο com ponent Καλείται όταν το mouse ει σέρχεται στο πηγαίο component Καλείται όταν το mouse εξέρχεται από το πηγαίο component Καλείται όταν το mouse μετακινείται με πατημένο πλήκτρο Καλείται όταν το mouse μετακινείται χωρίς να πατηθεί πλήκτρο Ασκήσεις με συμβάντα ποντικιού για το σπίτι 1. Δημιουργήστε ένα πρόγραμμα που εμφανίζει ένα μήνυμα σε ένα panel. Χρησιμοποιήστε το mouse για να μετακινήσετε (drag) το μήνυμα 2. Δημιουργήστε ένα πρόγραμμα που ζωγραφίζει χρησιμοποιώντας το ποντίκι Το ποντίκι θα αφήνει μια γραμμή ίχνος πίσω του όταν είναι πατημένο το αριστερό πλήκτρο 24

25 Χειρισμός συμβάντων πληκτρολογίου Για την επεξεργασία ενός συμβάντος πληκτρολογίου χρησιμοποιούνται οι ακόλουθοι χειριστές της διεπαφής KeyListener: keypressed(keyevent e) Καλείται όταν έχει πατηθεί ένα πλήκτρο keyreleased(keyevent e) Καλείται όταν έχει ελευθερωθεί ένα πλήκτρο keytyped(keyevent e) Καλείται όταν έχει πατηθεί και εν συνεχεία ελευθερωθεί ένα πλήκτρο Η κλάση KeyEvent Μέθοδοι: getkeychar() Επιστρέφει το χαρακτήρα (πλήκτρο) που πυροδότησε το συμβάν getkeycode() Επιστρέφει τον ακέραιο keycode του χαρακτήρα (πλήκτρου) που πυροδότησε το συμβάν Πλήκτρα: Home End Page Up Page Down κλπ... VK_HOME VK_END VK_PGUP VK_PGDN 25

26 Ασκήσεις με συμβάντα πληκτρολογίου για το σπίτι Εμφάνιση του τελευταίου χαρακτήρα ενός πλήκτρου που πάτησε ο χρήστης Ο χρήστης μπορεί να μετακινήσει το χαρακτήρα πάνωμ κάτω, δεξιά και αριστερά χρησιμοποιώντας τα arrow keys («βελάκια») Η κλάση Timer Κάποια μη γραφικά components μπορούν να πυροδοτήσουν events Η κλάση javax.swing.timer είναι μια πηγή συμβάντων που πυροδοτεί ένα ActionEvent σε προκαθορισμένο ρυθμό javax.swing.timer +Timer(delay: int, listener: ActionListener) +addactionlistener(listener: Acti on Li stener): void +start(): void +st op (): void +setdelay(delay: in t): void Δημιουργεί έναν Ti mer με προκαθορισμένη καθυστέρηση σε milliseconds και έναν Acti onli sten er Προσθέτει έναν Acti onli sten er στον timer Αρχίζει αυτόν τον timer Σταματάει αυτόν τον timer Θέτει μια νέα τιμή καθυστέρησης για αυτόν τον timer Η κλάση Timer μπορεί να χρησιμοποιηθεί για να ελέγξει animations Π.χ., για την εμφάνιση ενός κινούμενου μηνύματος 26

27 Άσκηση για το σπίτι: ένα ψηφιακό ρολόι Χρησιμοποιήστε την κλάση javax.swing.timer για να εμφανίσετε την τρέχουσα ώρα σε ένα JFrame (σε μορφή hh:mm:ss) Η ώρα θα πρέπει να ανανεώνεται κάθε 1 sec δίνοντας την εντύπωση ενός ρολογιού που «τρέχει» Ως επέκταση της προηγούμενης υλοποίησης, κάντε την ώρα να εμφανίζεται ως «κυλιόμενο» κείμενο (δηλαδή να δημιουργεί μια ψευδαίσθηση μετατόπισης προς τα αριστερά) Όταν το μήνυμα «βγει» εκτός frame, θα πρέπει να το ξαναεμφανίσετε από δεξιά 27

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 18: Προγραμματισμός με Γραφικά (Graphics Programming) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι βιβλιοθήκες AWT και SWING, κύρια αντικείμενα -Προγραμματισμός με συμβάντα (event-driven

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #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]

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

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

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

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

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

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

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

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

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

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

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

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

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

Week 10: Graphical User Interfaces

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. Ιδιαίτερα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 9: Γραφικές Διεπαφές Χρήστη Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

Περιεχόµενα. Πρόλογος...15

Περιεχόµενα. Πρόλογος...15 Περιεχόµενα Πρόλογος...15 Κεφάλαιο 1: Εισαγωγή...17 Τι είναι η Java... 17 Η ιστορία της Java... 21 Εκδόσεις της Java... 23 Ξεκίνηµα µε την Java... 24 Το περιβάλλον της γλώσσας... 28 ηµιουργία µιας εφαρµογής

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σύνθεταγραφικάσ ε Java

Σύνθεταγραφικάσ ε Java Σύνθεταγραφικάσ ε Java ΙωάννηςΓ.Τσ ούλος May 15, 2013 1 Δημιουργία απλών παραθύρων Τοεπόμενοπαράδειγμαδημιουργείέναπαράθυρομεδύοσ τατικάκείμενασ εαυτό. Στοπρώτοσ τατικόκείμενοτοκείμενοείναιαπλόκαισ τοδεύτερογίνεταιχρήσ

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

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

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

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

9. Η βιβλιοθήκη Components του AWT

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

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

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

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

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές

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

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

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

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

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010 Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010 Δημιουργία ενός απλού παιχνιδιού με το Gamemaker (μετάφραση από το http://www.stuffucanuse.com/downloads/gamemaker-introductionlessons/free_game_downloads_gamemaker.htm)

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός ΙΙ (Java) 8-9. Γραφικές Διεπαφές

Προγραμματισμός ΙΙ (Java) 8-9. Γραφικές Διεπαφές Προγραμματισμός ΙΙ (Java) 8-9. Γραφικές Διεπαφές Περιεχόμενα Γραφικά περιβάλλοντα (GUI) Abstract Windowing Toolkit (AWT) Swing Containers Components Layout managers (Listeners) Αρχιτεκτονική Model-View-Controller

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

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

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

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

Περιεχόμενα. Πρόλογος 15

Περιεχόμενα. Πρόλογος 15 Περιεχόμενα Πρόλογος 15 1 Δημιουργία προγραμμάτων Java 25 Ορισμός βασικής ορολογίας προγραμματισμού 26 Σύγκριση διαδικαστικού και αντικειμενοστρεφούς προγραμματισμού 29 Διαδικαστικός προγραμματισμός 29

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

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

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

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

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

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

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

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.......................................

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

Περιεχόμενα. Πρόλογος 15

Περιεχόμενα. Πρόλογος 15 Περιεχόμενα Πρόλογος 15 1 Δημιουργία προγραμμάτων Java 25 Εκμάθηση ορολογίας προγραμματισμού 26 Σύγκριση των εννοιών του διαδικαστικού και του αντικειμενοστραφούς 29 Διαδικαστικός προγραμματισμός 29 Αντικειμενοστραφής

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

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

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

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

1. Κλικ στην καρτέλα Insert 2. Tables 3. Κλικ Table 4. Σύρουμε το δείκτη του ποντικιού και επιλέγουμε τον επιθυμητό αριθμό γραμμών και στηλών

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

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

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

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

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

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Τα όρια μπορούν να εμφανιστούν σε κάθε συστατικό της Java Swing. Με τα όρια μπορούμε να ορίσουμε εμφανή περιθώρια για κάθε συστατικό. Η εμφάνιση των ορίων είναι ιδιαίτερα χρήσιμη

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

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

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

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

αντίστοιχο γεγονός. Όταν όντως το κουμπί

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

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

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

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

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

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5)

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5) ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ Τοποθετώ μια δισκέτα στον οδηγό τη δισκέτας του υπολογιστή. Τοποθετώ τη δισκέτα που έχει το αρχείο μου στον οδηγό τη δισκέτας του υπολογιστή.

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

ΜΑΘΗΜΑ 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)

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

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

Εργαστήριο 6 - Άσκηση - Ανάλυση Εργαστήριο 6 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε την εφαρµογή «fastfood» σε Java Swing µε χρήση NetBeans χρησιµο οιώντας τις εικόνες ου θα βρείτε στο moodle. Στην εφαρµογή ο υ άλληλος του µαγαζιού

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

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

Εργαστήριο 4 - Άσκηση - Ανάλυση Εργαστήριο 4 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε την εφαρµογή «Audio Player» σε Java Swing µε χρήση NetBeans ακολουθώντας τις αρακάτω οδηγίες. 1. Η εφαρµογή θα σχεδιασθεί σε ένα εξωτερικό υ οδοχέα

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

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

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

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

Δημιουργία ενός κενού πίνακα

Δημιουργία ενός κενού πίνακα 3.4.1.1 Δημιουργία ενός κενού πίνακα Ένας πίνακας αποτελείται από έναν αριθμό γραμμών και στηλών που δημιουργούν ένα πλέγμα. Σε αυτό το πλέγμα είναι πιθανή η ύπαρξη ή μη περιθωρίων. Κάθε κελί του πίνακα

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

Java Μέρος Ι Αντικειμενοστρεφής Προγραμματισμός - 7

Java Μέρος Ι Αντικειμενοστρεφής Προγραμματισμός - 7 Περιεχόμενα 1 Εισαγωγικές Έννοιες...12 1.1 Το Αντικείμενο στην καθημερινότητα...12 1.2 Το Αντικείμενο στον Προγραμματισμό...12 1.3 Επικοινωνία αντικειμένων...13 1.4 Κλάση (class) αντικειμένων...14 1.4.1

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

1. Κλικ στην καρτέλα Insert 2. Tables 3. Κλικ Table 4. Σύρουμε το δείκτη του ποντικιού και επιλέγουμε τον επιθυμητό αριθμό γραμμών και στηλών

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

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

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

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

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

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,

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

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

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

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

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

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

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

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

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

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

Εργαστήριο του Μαθήματος: ΕΠΛ003. Ενότητα 3 Εισαγωγή στο Microsoft Word

Εργαστήριο του Μαθήματος: ΕΠΛ003. Ενότητα 3 Εισαγωγή στο Microsoft Word Εργαστήριο του Μαθήματος: ΕΠΛ003 Ενότητα 3 Εισαγωγή στο Microsoft Word 1 Πως αρχίζουμε το Microsoft Word Για να αρχίσουμε το Word, πρέπει να κάνουμε double click στο εικονίδιο του Word που βρίσκεται στον

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

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

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

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

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

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

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

Εργαστήριο του Μαθήματος: ΕΠΛ001

Εργαστήριο του Μαθήματος: ΕΠΛ001 www.epl001lab.weebly.com Εργαστήριο του Μαθήματος: ΕΠΛ001 Ενότητα 3 Εισαγωγή στο Microsoft Word Πως αρχίζουμε το Microsoft Word Για να αρχίσουμε το Word, πρέπει να κάνουμε double click στο εικονίδιο του

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.

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

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

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

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

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

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

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

Περιεχόμενα. Πρόλογος... 17

Περιεχόμενα. Πρόλογος... 17 Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1 Εισαγωγή... 19 Τι είναι η Java... 19 Η ιστορία της Java... 23 Εκδόσεις της Java... 25 Ξεκίνημα με την Java... 27 Το περιβάλλον της γλώσσας... 31 Δημιουργία μιας εφαρμογής

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

ΓΡΑΦΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ ΜΕ ΕXCEL

ΓΡΑΦΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ ΜΕ ΕXCEL ΓΡΑΦΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ ΜΕ ΕXCEL 1. Εισαγωγή δεδομένων σε φύλλο εργασίας του Microsoft Excel Για να τοποθετήσουμε τις μετρήσεις μας σε ένα φύλλο Excel, κάνουμε κλικ στο κελί στο οποίο θέλουμε να τοποθετήσουμε

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

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

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

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

Atlantis - Νέο user interface

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

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

να ακολουθήσουμε Έναρξη Όλα τα Προγράμματα και να ενεργοποιήσουμε την επιλογή Microsoft Word.

να ακολουθήσουμε Έναρξη Όλα τα Προγράμματα και να ενεργοποιήσουμε την επιλογή Microsoft Word. ΕΠΕΞΕΡΓΑΣΙΑ ΚΕΙΜΕΝΟΥ ΜΕ ΤΟ WORD Περιεχόμενα Εκκίνηση του Microsoft Word... 3 Το παράθυρο του Word... 3 Η Κορδέλα με τις καρτέλες... 4 Κεντρική... 4 Εισαγωγή... 4 Διάταξη Σελίδας... 5 Αναφορές... 5 Στοιχεία

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

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

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

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

Πρακτικές οδηγίες για την Επεξεργασία Κειμένου

Πρακτικές οδηγίες για την Επεξεργασία Κειμένου 11 Εργαλεία έκφρασης και δημιουργίας Επεξεργασία Κειμένου Α Γυμνασίου Πρακτικές οδηγίες για την Επεξεργασία Κειμένου Ένα πρόγραμμα επεξεργασίας κειμένου μας προσφέρει τη δυνατότητα να: προσθέτουμε, να

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

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

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

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

ΜΑΘΗΜΑ Στοίχιση Παραγράφων. 2. Εσοχές Παραγράφων ΣΤΟΧΟΙ:

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

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

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

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

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

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

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

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

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

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

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

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. Μια παρόµοια διεπαφή (δες

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

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

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

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

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

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

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

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

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

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

Εργαστήριο Java. Αντικείµενο: Δίκτυα. Χειρισµός URLs. Άσκηση 1. Lab11. Πακέτο java.net

Εργαστήριο Java. Αντικείµενο: Δίκτυα. Χειρισµός URLs. Άσκηση 1. Lab11. Πακέτο java.net Εργαστήριο Java Lab11 Αντικείµενο: Δίκτυα Πακέτο java.net H Java παρέχει ένα σύνολο από ενσωµατωµένες δυνατότητες για δηµιουργία εφαρµογών στο Internet ή σε τοπικά δίκτυα. H Java παρέχει τα stream sockets

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

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

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

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

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

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

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

Φύλλο Εργασίας: Παιχνίδι Λαβύρινθος (MAZE) Προγραμματιστικό Εργαλείο: GAME MAKER. Ονοματεπώνυμο:

Φύλλο Εργασίας: Παιχνίδι Λαβύρινθος (MAZE) Προγραμματιστικό Εργαλείο: GAME MAKER. Ονοματεπώνυμο: Φύλλο Εργασίας: Παιχνίδι Λαβύρινθος (MAZE) Προγραμματιστικό Εργαλείο: GAME MAKER Ονοματεπώνυμο: Τμήμα: Σκοπός σας είναι να φτιάξετε ένα ηλεκτρονικό παιχνίδι για περιπλάνηση σε Λαβύρινθο (MAZE) χρησιμοποιώντας

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

Στην τεχνολογία των CSS, οι κανόνες στυλ (style

Στην τεχνολογία των CSS, οι κανόνες στυλ (style Δικτυακά Πολυμέσα ΙΙ Εργαστήριο #4 0 : CSS: Βασικές και προχωρημένες τεχνικές επιλογής, τα στοιχεία και , ψευδο κλάσεις και ψευδο επιλογείς Γαβαλάς Δαμιανός dgavalas@aegean.gr CSS κανόνες στυλ

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

Σχολή Κοινωνικών Επιστημών Τμήμα Πολιτισμικής Τεχνολογίας Και Επικοινωνίας

Σχολή Κοινωνικών Επιστημών Τμήμα Πολιτισμικής Τεχνολογίας Και Επικοινωνίας Πανεπιστήμιο Αιγαίου Σχολή Κοινωνικών Επιστημών Τμήμα Πολιτισμικής Τεχνολογίας Και Επικοινωνίας Δικτυακά Πολυμέσα Ι (Β Έτος, 3ο εξ) Διάλεξη #5η: HTML: πίνακες (tables), πλαίσια (frames) Γαβαλάς Δαμιανός

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

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC Η Visual Basic είναι μια γλώσσα προγραμματισμού οδηγούμενη από συμβάντα που έχει ένα ολοκληρωμένο περιβάλλον ανάπτυξης Έχει δημιουργηθεί από τη

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

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

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

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

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

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

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