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

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

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

Transcript

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

2 Περιεχόμενα Γραφικά περιβάλλοντα (GUI) Abstract Windowing Toolkit (AWT) Swing Containers Components Layout managers (Listeners) Αρχιτεκτονική Model-View-Controller Διάφορα στοιχεία του Swing Παράθυρα και μενού Περιγράμματα Τοποθέτηση στοιχείων στο παράθυρο Διαχειριστές τοποθέτησης Βασικά interfaces Τάξεις

3 Περιεχόμενα Στοιχεία Περιοχές κειμένου Κουμπιά Λίστες επιλογών Παράθυρα διαλόγου Παράθυρα επιβεβαίωσης Παράθυρο επιλογής αρχείου Παράθυρο επιλογής χρώματος

4 Τα μέρη ενός γραφικού περιβάλλοντος GUI Σύνθεση τάξεων JFrame JPanel containers JFrame JButton JPanel JLabel JButton JLabel components

5 Abstract Windowing Toolkit (AWT) Εμφανίστηκε στην αρχική έκδοση της Java αλλά υποστηρίζεται μέχρι σήμερα java.awt.*, java.awt.event.* Περιλαμβάνει τάξεις για τη σχεδίαση ενός βασικού γραφικού περιβάλλοντος: Παράθυρα (Containers): Frame, Window, Panel, Applet Στοιχεία (Components): Button, Checkbox, Label, Scrollbar, TextField, TextArea Διαχειριστές (LayoutManagers): FlowLayout, BorderLayout, GridLayout Διεπαφές για ακρόαση γεγονότων (Listener interfaces): ActionListener, TextListener κλπ.

6 Παράδειγμα - Containers Container (Applet) Containers (Panels) Component (Canvas) Components (Buttons) Components (TextFields) Components (Labels)

7 Παράδειγμα - Components Label Button Checkbox Choice TextField List Scrollbar TextArea Button Checkbox CheckboxGroup

8 Παράδειγμα - Layout Managers FlowLayout BorderLayout

9 Swing Επεκτείνει το AWT με περισσότερα στοιχεία (components) Τα στοιχεία είναι 100% υλοποιημένα σε Java javax.swing.* Τα στοιχεία είναι "ελαφρά" δεν επικοινωνούν απευθείας με το γραφικό περιβάλλον του λειτουργικού, παρά μόνο μέσω των βασικών παραθύρων Η τάξη JFrame (του Swing) κληρονομεί την Frame και αυτή την Window (του AWT) συνδέοντας έτσι το JFrame με το λειτουργικό σύστημα Προσφέρει τη δυνατότητα για διαφορετική εμφάνιση του GUI (look and feel) Μπορεί να συνδυαστεί με το AWT αλλά θέλει προσοχή

10 Model-View-Controller O controller ανιχνεύει γεγονότα, ενημερώνει το model που αποθηκεύει την κατάσταση του στοιχείου. π.χ. Όταν επιλέξουμε ένα checkbox, ο controller ενημερώνει το model ώστε να ξέρει ότι το checkbox είναι επιλεγμένο και αυτό στέλνει ένα μήνυμα στο view ώστε το checkbox να φαίνεται επιλεγμένο πλέον. 3 Νέα εμφάνιση Αλλαγή 2 κατάστασης 1 Γεγονός Μπορούμε έτσι να έχουμε για την ίδια λογική (Model) πάνω από διαφορετικά look (View) και feel (Controller)

11 Με ποια σειρά φτιάχνουμε το GUI Δημιουργούμε Το JFrame Το JPanel Τα Components (JButton, JLabel) To Listener για το JButton Προσθέτουμε (μέθοδος add) Τον Listener στo JButton Τα components στο Jpanel To JPanel στο JFrame Εμφανίζουμε Το JFrame (μέθοδος show) Listener JLabel JButton JPanel JFrame

12 JFrame Το βασικό container του swing Αποτελείται εξ ορισμού από ένα container JRootPane Το JRootPane αποτελείται από το διάφανο glasspane και το ορατό layeredpane Το layeredpane περιέχει προαιρετικά ένα menubar και το contentpane πάνω στο οποίο προστίθενται όλα τα υπόλοιπα στοιχεία. Συνεπώς, αφού φτιάξουμε το JFrame προσθέτουμε στο contentpane τα διάφορα components JFrame f=new JFrame( title ); f.getcontentpane().add(mycomponent);

13 Αντικείμενα - Τάξεις menubar Frame JFrame JMenuBar (προαιρετική) contentpane JPanel layeredpane glasspane JLayeredPane JPanel

14 Παράδειγμα import javax.swing.*; JFrame f = new JFrame( title ); JButton b = new JButton( press me ); f.getcontentpane().add(b); f.show(); press me Παρόμοια JFrame f = new JFrame( title ); JPanel p = new JPanel( ); JButton b = new JButton( press me ); p.add(b); f.setcontentpane(p); f.show();

15 Το JMenuBar Η μπάρα μενού δεν είναι υποχρεωτική για ένα JFrame Μπορούμε να την προσθέσουμε φτιάχνοντας ένα JMenuBar αντικείμενο JMenuBar menu = new JMenuBar(); και αναθέτοντάς το στο JFrame f.setjmenubar(menu);

16 Άλλες παράμετροι ενός JFrame Εικόνα ImageIcon image = new ImageIcon("spiral.gif"); f.seticonimage(image.getimage()); Αρχικό μέγεθος f.setsize(100,100); Θέση εξ ορισμού (0,0) = πάνω αριστερά στην οθόνη f.setlocation(50, 100); Μέγεθος και Θέση f.setbounds(120,120,300,300); Ανάλυση οθόνης Dimension dim = f.gettoolkit().getscreensize(); int screenwidth=dim.width; int screenlegthn=dim.length;

17 Πώς κλείνουμε ένα Frame Τι θα γίνεται όταν πατήσουμε το ; Ο πιο απλός τρόπο είναι να χρησιμοποιήσουμε τη μέθοδο setdefaultcloseoperation(int) της JFrame με όρισμα: WindowConstants.DISPOSE_ON_CLOSE κλείνει το frame WindowConstants.ΕΧΙΤ_ON_CLOSE κλείνει την εφαρμογή WindowConstants.DO_NOTHING_ON_CLOSE δεν κάνει τίποτε, οπότε ανιχνεύουμε διαφορετικά το γεγονός WindowConstants.HIDE_ON_CLOSE κρύβει το frame χωρίς να το καταστρέφει f.setdefaultcloseoperation(windowconstants.exit_on_close) H WindowConstants είναι ένα interface που υλοποιεί η JFrame

18 JPanel To JPanel είναι το βασικότερο container μέσα σε ένα JFrame. Ένα JPanel μπορεί να περιέχει components ή άλλα JPanel επιτρέποντας έτσι την καλύτερη οργάνωση των στοιχείων στο παράθυρο. Κάθε JPanel έχει ένα διαχειριστή τοποθέτησης στοιχείων (LayoutManager). Ο βασικός διαχειριστής προσθέτει τα στοιχεία στη σειρά το ένα δίπλα στο άλλο. Στα JPanel αλλά και στα υπόλοιπα components μπορούμε να ορίσουμε ένα τύπο περιγράμματος (Border)

19 Περιγράμματα - Borders Οι αντίστοιχες τάξεις βρίσκονται στο πακέτο javax.swing.border BevelBorder (υπερυψωμένο ή βυθισμένο), CompoundBorder (διπλό) EmptyBorder (διάφανο), TitledBorder κ.ά. Panel p=new Panel(); BevelBorder bb = new BevelBorder (BevelBorder.RAISED); p.setborder(bb);

20 Τοποθέτηση components στο JPanel Οι Layout Managers είναι τάξεις που διαχειρίζονται τον τρόπο τοποθέτησης των στοιχείων ενός παραθύρου Υλοποιούν δύο βασικά interfaces τα LayoutManager και LayoutManager2 Κάποιοι περιέχονται στο java.awt ενώ κάποιοι άλλοι στο javax.swing Πρώτα ορίζουμε το layout σε ένα container και μετά προσθέτουμε στοιχεία.

21 Ορισμός Layouts Κάθε παράθυρο (container) έχει ένα προκαθορισμένο τρόπο τοποθέτησης στοιχείων (components) Τα JPanel έχουν προκαθορισμένα FlowLayout Για κάθε παράθυρο ορίζουμε ένα layout με τη μέθοδο setlayout mypanel.setlayout(new BorderLayout()); ή this.getcontentpane().setlayout(new GridLayout(2,2));

22 Ενδεικτικά layouts FlowLayout GridLayout BorderLayout n Αριστερά προς δεξιά Πάνω προς κάτω w c e s CardLayout GridBagLayout Το ένα πάνω στο άλλο JButton

23 Βασικές τάξεις τοποθέτησης FlowLayout(), τοποθετεί τα στοιχεία στη σειρά mypanel.setlayout(new FlowLayout(FlowLayout.CENTER)); mypanel.add(new JButton( 1 )); GridLayout(int rows, int columns) mypanel.setlayout(new GridLayout(2,2)); mypanel.add(new JButton( 1 )); BorderLayout() mypanel.setlayout(new BorderLayout()); add(new JButton( 1"), BorderLayout.NORTH);

24 Βασικές τάξεις τοποθέτησης CardLayout(), τοποθετεί το ένα στοιχείο πίσω από το άλλο. Ορατό είναι αυτό που προσθέτουμε πρώτο. mypanel.setlayout(new CardLayout()); mypanel.add(new JButton( 1 ), first ); mypanel.add(new JButton( 2 ), second ); Με τις μεθόδους first, last, next, previous, show φέρνουμε στην επιφάνεια μια κάρτα GridBagLayout(), τοποθετεί τα στοιχεία σε θέσεις ενός πλέγματος, ώστε να γεμίζουν τη θέση ή να καταλαμβάνουν πάνω από ένα κελιά στο πλέγμα GridBagLayout gbl=new GridBagLayout(); mypanel.setlayout(gbl); GridBagConstraints c = new GridBagConstraints(); c.fill=gridbagconstraints.both; c.weightx=1.0; c.weighty=1.0; c.gridx=0; x.gridy=0; c.gridheight=2; mypanel.add(new JButton( one,c);

25 Τάξεις στο πακέτο swing BoxLayout, τοποθετεί τα στοιχεία σε μια σειρά (ή στήλη) χωρίς αναδίπλωση. Χρησιμοποιείται κυρίως για μπάρες εργαλείων. Συνδυάζεται με την τάξη Box που είναι Container Container toolbar = Box.createHorizontalBox( ); toolbar.add(new JButton( 1 )); mypanel.add(toolbar); SpringLayout, καθορίζει την απόσταση κάθε στοιχείου από τα γειτονικά στοιχεία OverlayLayout, ScrollPaneLayout

26 Ειδικά πλαίσια (Panels) JScrollPane: Περιέχει ένα στοιχείο μόνο Εμφανίζει αυτόματα μπάρες κύλισης αν το στοιχείο δεν χωρά στο πλαίσιο JScrollPane sp=new JScrollPane(new JButton( A button with a long label on it )); mypanel.add(sp); JSplitPane: Περιέχει δύο στοιχεία με ένα διαχωριστικό που μετακινείται. JSplitPane split =new JSplitPane( JSplitPane.HORIZONTAL_SPLIT, button1, button2); mypanel.add(split);

27 Ειδικά πλαίσια (Panels) JTabbedPane: Τοποθετεί κάθε στοιχείο πίσω από τα υπόλοιπα με τη μορφή καρτελών Κάθε καρτέλα έχει ένα όνομα και ένα στοιχείο ή πλαίσιο JPanel config=new JPanel(); JPanel options=new JPanel(); JTabbedPane tabby = new JTabbedPane( ); tabby.addtab( Configuration, config); tabby.addtab( Options, options); mypanel.add(tabby);

28 Εσωτερικά παράθυρα Η τάξη JDesktopPane μας επιτρέπει να εμφανίσουμε ολόκληρα παράθυρα (JInternalFrame) μέσα σε ένα JFrame Τα εσωτερικά παράθυρα μπορεί να είναι resizable, closable, maximizable, iconifiable, όπως ακριβώς συμβαίνει με τα παράθυρα των Windows JDesktopPane desktop = new JDesktopPane( ); JInternalFrame internal = new JInternalFrame("Frame 1", true, true, true, true); internal.setsize(180, 180); internal.setlocation(20,20); internal.setvisible(true); desktop.add(internal); f.setcontentpane(desktop);

29 Συνδυασμοί panels και layouts f: JFrame JButton JButton NORTH p1: JPanel FlowLayout contentpane: JPanel BorderLayout CENTER t: JTextArea

30 Συνδυασμός JFrame f = new JFrame( Frame1 ); JPanel p1 = new JPanel( ); JButton b1 = new JButton( OK ); JButton b2 = new JButton( Cancel ); p1.add(b1); p1.add(b2); JTextArea t=new JTextArea(""); f.getcontentpane().setlayout(new BorderLayout()); f.getcontentpane().add(p1,borderlayout.north); f.getcontentpane().add(t,borderlayout.center);

31 Στοιχεία του Swing

32 BUTTONS

33 MENUS

34 Άλλα COMPONENTS JApplet Border Interface JComboBox JColorChooser ImageIcon JDialog JFileChooser JInternalFrame

35 Άλλα COMPONENTS JLabel JList JScrollBar JScrollPane JOptionPane JSlider JSplitPane JTabbedPane

36 Άλλα COMPONENTS JTable JTextArea JTextField JToolBar JToolTip JTree

37 JComponent Κάθε JComponent είναι αντικείμενο μιας τάξης. Συνεπώς: Έχει κατάσταση (ιδιότητες) (π.χ. ενεργό, ορατό, επιλεγμένο, θέση,κείμενο, εικόνα κλπ.) Έχει μεθόδους (π.χ. Όρισε κείμενο/εικόνα, φόντο) Ανταποκρίνεται σε γεγονότα JButton (π.χ. mouseclicked, mouseentered, keytyped, componentmoved)

38 Πώς χρησιμοποιούμε ένα Component 1. Το δημιουργούμε JButton b = new JButton( press me ); 2. Το ρυθμίζουμε Ιδιότητες: b.text = press me ; Μέθοδοι: b.settext( press me );. 3. Του προσθέτουμε components (αν είναι container) 4. Τα προσθέτουμε σε ένα container (εκτός αν είναι JFrame) panel.add(b); 5. Παρακολουθούμε τα γεγονότα σ αυτό Events: Listeners

39 Ετικέτες JLabel label1 = new JLabel( JLabel"); JLabel label2 = new JLabel("JLabel",SwingConstants.CENTER); label2.setopaque(true); label2.setbackground(color.white); JLabel label3 = new JLabel("JLabel",SwingConstants.CENTER); label3.setfont(new Font("Helvetica", Font.BOLD, 18)); label3.setopaque(true); label3.setbackground(color.white); ImageIcon icon = new ImageIcon("image.gif"); JLabel label4 = new JLabel("JLabel",image, SwingConstants.RIGHT); label4.setverticaltextposition(swingconstants.top); label4.setopaque(true); label4.setbackground(color.white); mypanel.add(label); mypanel.add(label2); mypanel.add(label3); mypanel.add(label4);

40 Περιοχές κειμένου JTextField tf1 = new JTextField(); JTextField tf2 = new JTextField( text ); JTextField tf3 = new JTextField( more text,40); tf2.gettext(); tf1.settext( empty ); JTextArea ta= new TextArea(); ta.append( text ); ta.append( \nline2 ); JPasswordField pf=new JPasswordField( hidden );

41 Περιοχές κειμένου public class TestFrame extends JFrame { JTextField tf; JTextArea ta; JPasswordField pf; JScrollPane jsp; public TestFrame() { tf = new JTextField(); ta = new JTextArea(); ta.settext("your Text will appear"); ta.append("\nhere:\n"); pf = new JPasswordField("hidden"); jsp = new JScrollPane(); jsp.getviewport().add(ta); this.setlayout(new GridLayout(3, 3)); this.getcontentpane().add(tf); this.getcontentpane().add(jsp); this.getcontentpane().add(pf); String password=pf.gettext(); ta.append(password); this.setdefaultcloseoperation(windowconstants.exit_on_close); } }

42 Κουμπιά. ta.append(password); clearbutton=new JButton("Clear"); copybutton = new JButton("Copy"); this.getcontentpane().add(new JPanel()); this.getcontentpane().add(clearbutton); this.getcontentpane().add(copybutton); } this.setdefaultcloseoperation(windowconstants.exit_on_close);

43 Κουμπιά Ομάδες κουμπιών JButton b= new JButton( OK ); JToggleButton tb1= new JToggleButton( ON ); JToggleButton tb2= new JToggleButton( OFF ); ButtonGroup buttongroup = new ButtonGroup(); tb1.setmnemonic( n ); // Ενεργοποιείται με ALT+n tb1.settooltiptext( This is the ON button ); tb2.setmnemonic( f ); // Ενεργοποιείται με ALT+f tb1.settooltiptext( This is the OFF button ); buttongroup.add(tb1); buttongroup.add(tb2); mypanel.add(tb1); mypanel.add(tb2); mypanel.add(b); Ενεργοποιούνται εναλλάξ

44 JCheckBox και JRadioButton Τα JCheckBox λειτουργούν ανεξάρτητα και μπορούν να επιλεγούν όλα μαζί mypanel.add(new JCheckBox("case 1")); mypanel.add(new JCheckBox("case 2")); Τα JRadioButton λειτουργούν σε ομάδες και μόνο ένα επιλέγεται κάθε φορά. ButtonGroup options = new ButtonGroup( ); JRadioButton rb1= new JRadioButton("Option 1"); JRadioButton rb2= new JRadioButton("Option 2"); options.add(rb1); options.add(rb2); mypanel.add(rb1); mypanel.add(rb2);

45 Λίστες επιλογών JComboBox: Περιέχει ένα πίνακα από επιλογές, εμφανίζει στο χρήστη μόνο μία και επιτρέπει μονές ή πολλαπλές επιλογές. String [] items = { "uno", "due", "tre", "quattro", "cinque", "sei", "sette", "otto", "nove", "deici", "undici" }; JComboBox combobox = new JComboBox(items); combobox.additem("dodici"); combobox.getselecteditem() //επιστρέφει Object combobox.getselectedobjects() //επιστρέφει Object[] JList: Περιέχει ένα πίνακα από επιλογές, εμφανίζει στο χρήστη ορισμένες από αυτές (ανάλογα με το ύψος της) και επιτρέπει μονές ή πολλαπλές επιλογές. JList list = new JList(comboBox.getModel( )); list.getselectedvalues() //επιστρέφει Object[] Mοιράζονται το ίδιο μοντέλο δεδομένων

46 Παράδειγμα public class Human { String name; String surname; int age; String address; public Human(String name, String surname, int age, String address) { this.name = name; this.surname = surname; this.age = age; this.address = address; public String tostring() { return this.name+" "+this.surname; } }

47 Μοντέλα Δεδομένων για Λίστες dlm = new DefaultListModel(); dlm.addelement(new Human("George", "Brown", 22, "6th Avenue")); dlm.addelement(new Human("Mary", "Jones", 18, "5th Avenue")); dlm.addelement(new Human("Bill", "Murray", 19, "Madison Avenue")); students = new JList(dlm); this.getcontentpane().add(students); this.getcontentpane().add(clearbutton); this.getcontentpane().add(copybutton); - Φαίνεται ότι επιστρέφει η tostring() - Επιστρέφει όλο το Object Object[] selected=students.getselectedvalues(); for (int i=0;i<selected.length;i++) Human h=(human)selected[i];

48 Πίνακες - JTable String[] columnnames = {"First Name", "Last Name", "Age", "Address"}; Object[][] data = {{"George", "Brown", new Integer(22), "6th Avenue"}, {"Mary", "Jones", new Integer(18), "5th Avenue"}, {"Bill", "Murray", new Integer(19), "Madison Avenue"}}; dtm = new DefaultTableModel(data,columnNames); studentstable=new JTable(dtm); JScrollPane jsp2 = new JScrollPane(); jsp2.getviewport().add(studentstable); this.getcontentpane().add(jsp2); JTable(Object[][] rowdata, Object[] columnnames); JTable(Vector rowdata, Vector columnnames); JTable(DefaultTableModel dtm);

49 Μενού επιλογών JMenu file = new JMenu( File"); file.add(new JMenuItem( Open")); file.add(new JMenuItem( Close")); JMenu edit = new JMenu( Edit"); edit.add(new JMenuItem( Copy")); edit.add(new JMenuItem( Paste")); JMenu check = new JMenu( Check"); check.add(new JCheckBoxMenuItem( Option 1")); check.add(new JSeparator()); check.add(new JCheckBoxMenuItem( Option 2", true)); MenuBar mb = new MenuBar(); mb.add(file); mb.add(edit); mb.add(check); myframe.setjmenubar(mb);

50 Μελέτη Περίπτωσης

51 Μελέτη Περίπτωσης

52 Παράθυρα διαλόγου 52

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

54 Το παράθυρο JDialog Συμπεριφέρεται όπως και το JFrame JDialog dialog = new JDialog(myFrame, "Dialog Frame"); JLabel label = new JLabel("This is a message ); dialog.getcontentpane().add(label); dialog.setvisible(true); Μπορεί να μπλοκάρει τη συνέχιση του προγράμματος (modal) ή όχι (non-modal) JDialog dialog1 = new JDialog(myFrame, "This is modal", true); JDialog dialog2 = new JDialog(myFrame, "This is non modal", false);

55 Έτοιμα πλαίσια διαλόγου Φτιάχνονται με κλήση των static μεθόδων της JOptionPane int n = JOptionPane.showConfirmDialog(myFrame, Is it OK?", ConfirmDialog", JOptionPane.YES_NO_OPTION); String s = (String)JOptionPane.showInputDialog(myFrame, "Name?"); JOptionPane.showMessageDialog(myFrame, "Hi!"); Object[] options = {"Yes, please", "No way!"}; int n = JOptionPane.showOptionDialog(myFrame, "Choose", "Choices", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options,options[0]);

56 Παράθυρο επιλογής αρχείου Δημιουργία ενός JFileChooser: JFileChooser fc = new JFileChooser(); Εμφάνισή του (π.χ. με το πάτημα ενός JButton) int returnval = fc.showopendialog(acomponent);

57 Παράθυρο επιλογής αρχείου Στη συνέχεια μπορούμε να διαβάσουμε τις ενέργειες του χρήστη στο παράθυρο: if (returnval == JFileChooser.APPROVE_OPTION) { // αν ο χρήστης επέλεξε Open File file = fc.getselectedfile(); //το αρχείο που επέλεξε log.append("opening: " + file.getname() + "." + newline); } else { log.append("open command cancelled by user." + newline); } fc.showdialog(acomponent, "Save"); //αλλάζει το open button σε Save

58 Παράθυρο επιλογής χρώματος Δημιουργία και χρήση ενός JColorChooser Color c = JColorChooser.showDialog(myFrame, "Choose a color", myframe.getcontentpane().getbackground( )); if (c!= null) myframe.getcontentpane().setbackground(c);

59 Διαχείριση γεγονότων

60 Περιεχόμενα Διαχείριση γεγονότων Δημιουργία γεγονότος Ακρόαση (ανίχνευση) γεγονότος Δημιουργία ακροατή Κατηγορίες ακροατών Σύνδεση ακροατή με στοιχείο Πρακτικές χρήσης ακροατών

61 Διαχείριση γεγονότων Το στοιχείο του GUI (π.χ. ένα JButton) Παράγει γεγονότα σε συγκεκριμένες συνθήκες Ανάλογα με τις δραστηριότητες του χρήστη Το γεγονός (π.χ. ένα MouseEvent) Ένα αντικείμενο που περιέχει πληροφορίες για το γεγονός Ποιος το προκάλεσε, τι ακριβώς προκάλεσε, σε ποιο στοιχείο του GUI, κλπ Οι ακροατές (π.χ. ένας MouseListener) Καταλαβαίνουν ένα γεγονός Έχουν μεθόδους που παίρνουν γεγονότα ως όρισμα Διάφορες κατηγορίες ακροατών (για γεγονότα σχετικά με τα mouse, keyboard, window, components κλπ)

62 Δημιουργία γεγονότων Τα αντικείμενα επικοινωνούν μεταξύ τους δημιουργώντας γεγονότα Τα γεγονότα είναι αντικείμενα της τάξης java.util.eventobject και των απογόνων της (π.χ. AWTEvent) Μεταφέρουν πληροφορία για το είδος του γεγονότος, τη δράση που το προκάλεσε κλπ. Για παράδειγμα ένα MouseEvent παράγεται από ένα στοιχείο, όταν ο χρήστης κινήσει το ποντίκι στην περιοχή του στοιχείου (π.χ. ενός JButton). Το αντικείμενο MouseEvent περιλαμβάνει πληροφορία για τις συντεταγμένες του ποντικιού (x,y), για την κατάσταση των κουμπιών του κλπ. Ένα ActionEvent μπορεί να παράγεται από το ίδιο στοιχείο (π.χ. JButton) ενημερώνοντας ότι κάτι συνέβη με το στοιχείο Δεν παράγουν όλα τα στοιχεία τα ίδια γεγονότα

63 Ακρόαση γεγονότων Το πάτημα ενός JButton δημιουργεί ένα γεγονός (αντικείμενο ActionEvent). Για να το χειριστούμε, θα πρέπει στο JButton να προσθέσουμε ένα τρόπο διαχείρισης γεγονότων. Οι μέθοδοι που διαχειρίζονται κάθε γεγονός περιέχονται στο αντίστοιχο interface. Τα interfaces αυτά ονομάζονται ακροατές listeners. public interface ActionListener extends java.util.eventlistener { public void actionperformed( ActionEvent e ); } Ένα στοιχείο μπορεί να έχει πολλούς ακροατές. Κάθε ακροατής μπορεί να παρακολουθεί πολλά στοιχεία. Συνοψίζοντας: α) Φτιάχνουμε την τάξη που υλοποιεί το κατάλληλο interface ακροατή, β) προσθέτουμε στο στοιχείο ένα αντικείμενο της τάξης αυτής.

64 Α) Δημιουργία ακροατή Τα listener interfaces έχουν ένα κοινό πρόγονο το interface java.util.eventlistener που δεν δηλώνει καμία μέθοδο. Ένα γεγονός έχει μοναδική πηγή αλλά μπορεί να ανιχνευτεί από πολλούς ακροατές (π.χ. ο ακροατής του στοιχείου, ο ακροατής του component που περιέχει το στοιχείο κλπ) Κάθε τάξη ακροατής γεγονότων θα πρέπει να υλοποιεί ένα ή περισσότερα listener interfaces. public class myactionlistener implements ActionListener{ public void actionperformed( ActionEvent e ){ mytextarea.append( Something happened ); } } Εκτός από τα Listener interfaces υπάρχουν και οι αντίστοιχες Adapter τάξεις (είναι abstract) public class mymouselistener implements MouseListener public class mymouselistener extends MouseAdapter

65 Τύποι ακροατών Ακροατής ActionListener MouseListener MouseAdapter MouseMotionListener KeyListener ItemListener Μέθοδοι actionperformed(actionevent) mouseclicked(mouseevent) mouseentered(mouseevent) mouseexited(mouseevent) mousepressed(mouseevent) mousereleased(mouseevent) mousedragged(mouseevent) mousemoved(mouseevent) keypressed(keyevent) keyreleased(keyevent) keytyped(keyevent) itemstatechanged(itemevent)

66 Τύποι ακροατών ComponentListener ComponentAdapter ContainerListener ContainerAdapter FocusListener FocusAdapter WindowListener WindowAdapter componenthidden(componentevent) componentshown(componentevent) componentmoved(componentevent) componentresized(componentevent) componentadded(containerevent) componentremoved(containerevent) focusgained(focusevent) focuslost(focusevent) windowactivated(windowevent), windowclosed windowclosing, windowdeactivated, windowdeiconified, windowgainedfocus windowiconified, windowlostfocus windowopened, windowstatechanged

67 Παράδειγμα - actionlistener public class CopyButtonActionListener implements ActionListener { TestFrame targetframe; public CopyButtonActionListener(TestFrame targetframe) { this.targetframe=targetframe; } public void actionperformed(actionevent e) { String password = targetframe.pf.gettext(); targetframe.ta.append(password); } } υποχρεωτικά Και στην TestFrame copybutton.addactionlistener(new CopyButtonActionListener(this));

68 Παράδειγμα - mouselistener υποχρεωτικά public class mymouselistener implements MouseListener { public void mousepressed(mouseevent e) { textarea.append ("Mouse pressed: # of clicks: + e.getclickcount(), " detected at position + e.getx()+, + e.gety() + of component + e.getcomponent().getclass().getname() + ".\n"); } public void mousereleased(mouseevent e) { } public void mouseclicked(mouseevent e) { } public void mouseentered(mouseevent e) { textarea.append ("Mouse entered detected on " + e.getcomponent().getclass().getname() + ".\n"); } public void mouseexited(mouseevent e) { } }

69 Β) Ανίχνευση γεγονότων Για να μπορεί ένα στοιχείο να ανιχνεύει γεγονότα θα πρέπει να του προσθέσουμε τον αντίστοιχο ακροατή button1.addactionlistener(new myactionlistener()); //έτσι θα ανιχνεύουμε πάτημα του κουμπιού button1.addmouselistener(new mymouselistener()); //έτσι θα ανιχνεύουμε κινήσεις του ποντικιού πάνω στο κουμπί Τα FocusEvent, KeyEvent, MouseEvent, ComponentEvent είναι γεγονότα που προκαλούνται από όλα τα components του swing Το ContainerEvent προκαλείται από όλα τα containers του Swing

70 Γεγονότα - Στοιχεία που τα παράγουν ActionEvent ListSelectionEve nt ItemEvent MenuEvent MenuKeyEvent WindowEvent JButton, JCheckBoxMenuItem, JComboBox, JFileChooser, JList, RadioButtonMenuItem, JTextField, JToggleButton JList, ListSelectionModel JCheckBoxMenuItem, ItemListener, JComboBox, JRadioButtonMenuItem, JToggleButton JMenu JMenuItem JDialog, JFrame, JWindow

71 Πρακτικές δήλωσης και χρήσης ακροατών

72 Υλοποίηση με interface Υλοποίηση με interface Η τάξη μας είναι απόγονος της JFrame (περιέχει components κλπ) Μπορεί να υλοποιεί όλα τα interfaces που χρειάζεται για να ανιχνεύει γεγονότα Θα πρέπει να δηλώνει όλες τις μεθόδους, όλων των interfaces, ακόμη και αν υλοποιεί ορισμένες μόνο από αυτές. Με τον τρόπο αυτό έχουμε ένα μόνο ακροατή για όλα τα στοιχεία που βάζουμε στο πλαίσιο. Υλοποίηση με inner class και adapter Η τάξη κληρονομεί μόνο έναν adapter και ορίζει μόνο τις μεθόδους που σχετίζονται με τα γεγονότα που ανιχνεύει Θα πρέπει να δηλωθεί ως εσωτερική τάξη ώστε να έχει πρόσβαση στα μέλη της κύριας τάξης που είναι απόγονος της JFrame Έχουμε έτσι ένα ακροατή για κάθε στοιχείο στο πλαίσιο.

73 Παράδειγμα χρήσης interface import javax.swing.*; import java.awt.event.*; public class MyClass extends JFrame implements MouseListener { JButton button1; void init(){ button1=new JButton("OK"); this.add(button1); //είναι ταυτόχρονα πλαίσιο button1.addmouselistener(this); //και ακροατής this.setsize(200,200); } public void mouseclicked(mouseevent e) { } //παρόμοια οι mousepressed και mousereleased public void mouseexited(mouseevent e) { button1.settext("off");} public void mouseentered(mouseevent e) { button1.settext("on");} public static void main(string args[]){ MyClass m=new MyClass(); m.init(); m.show(); }}

74 Χρήση ανώνυμης εσωτερικής τάξης Αν η λειτουργικότητα αφορά ένα μόνο component είναι προτιμότερο να χρησιμοποιήσουμε ανώνυμη εσωτερική τάξη public class MyClass extends JFrame { JButton button1; void init(){ button1=new JButton("OK"); this.add(button1); button1.addmouselistener(new MouseAdapter(){ public void mouseexited(mouseevent e) { button1.settext("off");} public void mouseentered(mouseevent e) { button1.settext("on");} }); this.setsize(200,200); } public static void main(string args[]){ } }

75 Περισσότερα για τους ακροατές ActionListener Ορίζει τη μέθοδο void actionperformed(actionevent) Το ActionEvent έχει δύο χρήσιμες μεθόδους String getactioncommand() Δίνει ένα μήνυμα που περιγράφει το γεγονός int getmodifiers() Μας ενημερώνει αν όταν συνέβη το γεγονός (π.χ. Mouse click) είχε πατηθεί κάποιο από τα πλήκτρα SHIFT, CTRL ή ALT

76 Περισσότερα για τους ακροατές ComponentListener void componenthidden(componentevent) void componentshown(componentevent) void componentmoved(componentevent) void componentresized(componentevent) Ανάλογα με το αν το στοιχείο κρύφτηκε, εμφανίστηκε, μετακινήθηκε ως προς το πλαίσιο στο οποίο ανήκει, κλπ Το ComponentEvent έχει τη μέθοδο Component getcomponent() Επιστρέφει το στοιχείο που προκάλεσε το γεγονός

77 Περισσότερα για τους ακροατές ItemListener: Συνδέεται με μενού, checkboxes void itemstatechanged(itemevent) To ItemEvent έχει τις εξής μεθόδους Object getitem() Συνήθως ένα String με το κείμενο του στοιχείου ItemSelectable getitemselectable() Επιστρέφει το στοιχείο που προκάλεσε το γεγονός int getstatechange() Αν το αντικείμενο επιλέχθηκε ή όχι

78 Περισσότερα για τους ακροατές KeyListener: Ανιχνεύει πατήματα πλήκτρων void keytyped(keyevent) // για Unicode characters void keypressed(keyevent) // για πλήκτρα void keyreleased(keyevent) To KeyEvent έχει τις εξής μεθόδους int getkeychar(), void setkeychar(int) Συνδέει το event με κάποιο Unicode character int getkeycode(), void setkeycode(int) Επιστρέφει τον κωδικό του πλήκτρου που προκάλεσε το γεγονός

79 Περισσότερα για τους ακροατές WindowListener void windowopened(windowevent) void windowclosing(windowevent) void windowclosed(windowevent) void windowiconified(windowevent), void windowdeiconified(windowevent) void windowactivated(windowevent) void windowdeactivated(windowevent) To WindowEvent έχει τη μέθοδο Window getwindow() Που επιστρέφει το παράθυρο που προκάλεσε το γεγονός Περισσότερα:

80 Παράδειγμα Στο κατάστημα με τους υπολογιστές θέλουμε να δημιουργήσουμε μια φόρμα που θα κάνει τα ακόλουθα Θα διαβάζει από αρχείο όλους τους υπολογιστές και θα τους εμφανίζει σε μια λίστα, τυπώνοντας μόνο το μοντέλο του υπολογιστή Θα επιτρέπει να επιλέξουμε ένα μόνο υπολογιστή και Αν πατήσουμε το κουμπί Details θα μας δείχνει σε ξεχωριστό παράθυρο τις λεπτομέρειες του υπολογιστή.

81

82 Πόσες φόρμες χρειαζόμαστε MainFrame OrderFrame ProductFrame createorder addproduct setvisible(true) setvisible(true) Τι ξέρει η κάθε φόρμα; ArrayList<Order> orderlist ArrayList<Product> productlist Τι δημιουργεί κάθε φόρμα; Order o = new Order() Product p = new Product() Μια φόρμα δεν μπορεί να επιστρέψει δεδομένα Γι' αυτό πρέπει να της περάσουμε μια αναφορά στην αντίστοιχη δομή

83 Λύση Στον κατασκευαστή της OrderFrame και της ProductFrame περνάμε την orderlist και την ProductList αντίστοιχα Στο κουμπί "Καταχώρηση ", δημιουργούμε το αντίστοιχο αντικείμενο και το προσθέτουμε στη λίστα που έχουμε περάσει στη φόρμα. Έτσι ενημερώνουμε έμμεσα (μέσω αναφοράς) την αρχική λίστα και μπορούμε πλέον άφοβα να κλείσουμε τη φόρμα Η φόρμα κλείνει με τη μέθοδο dispose()

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

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

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

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

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

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

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

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

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

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

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

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 Η κλάσεις στο πακέτο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εφαρμογή Αναζήτησης στον Ελληνικό Γεωγραφικό Χώρο

Εφαρμογή Αναζήτησης στον Ελληνικό Γεωγραφικό Χώρο ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εφαρμογή Αναζήτησης στον Ελληνικό Γεωγραφικό Χώρο Καβάλα 2012 Σπουδαστής : Λιάνος Άγγελος,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο 9 - Άσκηση - Ανάλυση Εργαστήριο 9 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε ένα αντίγραφο της άσκησης της 8ης εργαστηριακής εβδοµάδας. Κάντε τις α αραίτητες τρο ο οιήσεις ώστε να αντικαταστήσετε τα δύο jdialog ου χρησιµο οιήσατε

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

8.1 Γενικά για το AWT (Abstract Window Toolkit)

8.1 Γενικά για το AWT (Abstract Window Toolkit) 8.1 Γενικά για το AWT (Abstract Window Toolkit) To AWT είναι ένα σύνολο κλάσεων που επιτρέπει την δηµιουργία γραφικής διασύνδεσης χρήστη Graphical User Interface (GUI). To GUI χρησιµοποιείται για τον τρόπο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δημιουργία αντικειμένων γραφικών διεπαφών (GUI objects) // Δημιουργία πλήκτρου με κείμενο OK JButton jbtok = new JButton(OK); Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #8 η : Τα βασικά των γραφικών διεπαφών στη Java, συμβάντα, χειριστές συμβάντων Γαβαλάς Δαμιανός dgavalas@aegean.gr Δημιουργία αντικειμένων γραφικών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

12.1 Εισαγωγή στο Swing

12.1 Εισαγωγή στο Swing 12.1 Εισαγωγή στο Swing JFC είναι το ακρωνύµιο των λέξεων Java Foundation Classes το οποίο περιλαµβάνει µια οµάδα χαρακτηριστικών για την δηµιουργία γραφικής διασύνδεσης χρήστη (GUI). ύο από τα χαρακτηριστικά

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

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Το JList είναι ένα από τα τρία συστατικά (JComboBox, JSpinner) που χρησιμοποιούνται στη Java Swing για την επιλογή από λίστα πληροφοριών. Με το συστατικό JList μπορούμε να επιλέξουμε

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

Joomla! with K2 - User Guide

Joomla! with K2 - User Guide Joomla! with K2 - User Guide τελευταία ανανέωση: 27/03/2014 από την ICAP WEB Solutions 1 Η κατασκευή της δυναμικής σας ιστοσελίδας έχει ολοκληρωθεί και μπορείτε πλέον να προχωρήσετε σε αλλαγές ή προσθήκες

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

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με κοινά χαρακτηριστικά και κοινή συμπεριφορά. Ένα καλούπι/πρότυπο

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

Τ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων

Τ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων Εργαστήριο Java Αντικείμενο: Αρχεία Πακέτο java.io Πακέτο java.io.zip Στην Java δεν υπάρχει η έννοια των εγγραφών μέσα σε ένα αρχείο. Ο προγραμματιστής πρέπει να κατασκευάσει το αρχείο κατάλληλα έτσι ώστε

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο

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

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

Οδηγίες για την εγκατάσταση του πακέτου Cygwin Οδηγίες για την εγκατάσταση του πακέτου Cygwin Ακολουθήστε τις οδηγίες που περιγράφονται σε αυτό το file μόνο αν έχετε κάποιο laptop ή desktop PC που τρέχουν κάποιο version των Microsoft Windows. 1) Copy

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

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

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

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

Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας

Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας Πώς να δημιουργήσουμε ένα νέο λογαριασμό χρήστη (User Account) στα Windows 7 Αρκετές φορές τυχαίνει να χρησιμοποιούν διάφορα άτομα τον Η/Υ σας. Σε τέτοιες

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

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

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

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

Ask1, Ask2, Ask3. private void jbutton1actionperformed(java.awt.event.actionevent evt) { jlabel1.settext( "You pressed the 1st button" ); }

Ask1, Ask2, Ask3. private void jbutton1actionperformed(java.awt.event.actionevent evt) { jlabel1.settext( You pressed the 1st button ); } ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 1 o ΕΡΓΑΣΤΗΡΙO-3ασκήσεις Θα χρησιµοποιηθεί το πακέτο ΝetBeansIDE Θα δηµιουργήσουµε µια νέα εφαρµογή/ Project µε όνοµα π.χ. Ergastirio1 επιλέγοντας από το 1 ο µενού File /

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

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

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

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

Οδηγίες για προσθήκη 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 1 Δομημένος προγραμματισμός έναντι αντικειμενοστρεφούς

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

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

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

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

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

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

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

Τ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων

Τ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων Εργαστήριο Java Lab09 Αντικείμενο: Πολυνηματικές εφαρμογές Η χρήση περισσότερων από μιας ροής εντολών μέσα σε ένα πρόγραμμα είναι γνωστή ως multithreading. H κάθε μια ροή εντολών μέσα στο πρόγραμμα ονομάζεται

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

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access... 9 Κεφάλαιο 2: Microsoft Access 2002... 20 Κεφάλαιο 3: Το σύστημα Βοήθειας του Microsoft Office ΧΡ... 36

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

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

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

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

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

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

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

Οδηγίες χρήσης για την εφαρµογή Spot4U

Οδηγίες χρήσης για την εφαρµογή Spot4U Οδηγίες χρήσης για την εφαρµογή Spot4U 1 Βασικές οδηγίες Λήψη Κατηγοριών Μετά την εγκατάσταση του Spot4U το πρώτο βήµα που θα πρέπει να κάνει ο χρήστης είναι να επιλέξει το Λήψη Κατηγοριών ώστε να ενηµερωθεί

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

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

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

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

Certified Java Programmer (CJP)

Certified Java Programmer (CJP) Certified Java Programmer (CJP) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά τα

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

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

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

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

Το PowerPoint (PP) είναι ένα γραφικό πρόγραμμα για παρουσιάσεις. Χαρακτηριστικά Παρουσιάσεων:

Το PowerPoint (PP) είναι ένα γραφικό πρόγραμμα για παρουσιάσεις. Χαρακτηριστικά Παρουσιάσεων: Κεφάλαιο 5 Το PowerPoint (PP) είναι ένα γραφικό πρόγραμμα για παρουσιάσεις. Χαρακτηριστικά Παρουσιάσεων: Επεξεργασία κειμένου. Δημιουργία και επεξεργασία γραφικών παραστάσεων. Δημιουργία και επεξεργασία

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

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

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

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

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

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

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

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( ) Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ EXCEL ΣΤΟ GRETL

ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ EXCEL ΣΤΟ GRETL ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ EXCEL ΣΤΟ GRETL Με το οικονομετρικό λογισμικό GRETL μπορούμε να κάνουμε Ανάλυση Χρονοσειρών σε δεδομένα (χρονοσειρές) με διάφορες μεθόδους και μοντέλα. Επειδή είναι εύκολο να βρούμε

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

Ενότητα 21 Pivot Tables

Ενότητα 21 Pivot Tables Ενότητα 21 Pivot Tables Όταν δημιουργείτε μια έκθεση θα θέλετε να δείτε τα δεδομένα σας με διαφορετικούς τρόπους. Μπορείτε να χρησιμοποιήσετε τους πίνακες Pivot αν θέλετε να δείτε στον πίνακα σας μόνο

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

ΔΗΜΙΟΥΡΓΙΑ ΚΑΤΑΛΟΓΟΥ ΕΤΕΡΟΑΝΑΦΟΡΩΝ

ΔΗΜΙΟΥΡΓΙΑ ΚΑΤΑΛΟΓΟΥ ΕΤΕΡΟΑΝΑΦΟΡΩΝ ΔΗΜΙΟΥΡΓΙΑ ΚΑΤΑΛΟΓΟΥ ΕΤΕΡΟΑΝΑΦΟΡΩΝ 1. Αρχικά, θα πρέπει να έχουμε συλλέξει τα scopus ID των ερευνητών του εργαστηρίου. Και μάλιστα όλα τα scopus ID των ερευνητών, καθώς κάποιος ερευνητής μπορεί να έχει

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπερφόρτωση Αντικείμενα σαν ορίσματα ΥΠΕΡΦΟΡΤΩΣΗ H κλάση Car Μια κλάση που κρατάει την θέση ενός αυτοκινήτου. Μέθοδος move(): μετακινεί το αυτοκίνητο κατά μία

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

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

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

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