Προγραμματισμός ΙΙ (Java) 8-9. Γραφικές Διεπαφές
|
|
- Σιλουανός Μιχαλολιάκος
- 7 χρόνια πριν
- Προβολές:
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
Week 12: GUIs with Swing Προγραμματισμός ΓΠΕ: ανασκόπηση Εισαγόμενα πακέτα Java Διαλεξη #18: Γραφικά Περιβάλλοντα Επικοινωνίας Java με Swing «Στήσιμο»του αυτόνομου παράθυρου [frame] Συστατικά [components]
Διαβάστε περισσότεραWeek 12: GUIs with Swing
Week 12: GUIs with Swing Προγραµµατισµός ΓΠΕ: ανασκόπηση Εισαγόµενα πακέτα Java Εβδοµάδα 12: Γραφικά Περιβάλλοντα Επικοινωνίας Java µε Swing «Στήσιµο»του αυτόνοµου παράθυρου [frame] Συστατικά [components]
Διαβάστε περισσότερα8. Το μοντέλο συμβάντων του AWT
8. Το μοντέλο συμβάντων του AWT Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να γράφετε κώδικα που θα αντιμετωπίζει συμβάντα που θα συμβαίνουν στη διεπαφή με το χρήστη Να χρησιμοποιείτε τις κατάλληλες διεπαφές
Διαβάστε περισσότεραΓΡΑΦΙΚΕΣ ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ- SWING (1)
ΓΡΑΦΙΚΕΣ ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ- SWING (1) Πλεονεκτήματα έναντι του awt Περισσότερα συστατικά Επεκτεταμένα χαρακτηριστικά συστατικών Καλύτερη εμφάνιση και αίσθηση Καλύτερος χειρισμός συμβάντων Πιο συμβατά προγράμματα
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #17
Week 10: Graphical User Interfaces Έννοιες του προγραμματισμού ΓΠΕ [GUI] Διάλεξη #17: Εισαγωγή στα Γραφικά Περιβάλλοντα Επικοινωνίας [Graphical User Interfaces] Συστατικά [components] Διάταξη [layout]
Διαβάστε περισσότεραWeek 10: Graphical User Interfaces
Week 10: Graphical User Interfaces Έννοιες του προγραµµατισµού ΓΠΕ [GUI] Εβδοµάδα 10: Εισαγωγή στα Γραφικά Περιβάλλοντα Επικοινωνίας [Graphical User Interfaces] Συστατικά [components] ιάταξη [layout] [event-driven
Διαβάστε περισσότεραΜέρος ΙΙ Εφαρμογές γραφικών με το πακέτο 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 Swing Τα GUIs (Graphical User Interfaces) είναι τα συνηθισμένα interfaces που χρησιμοποιούν παράθυρα, κουμπιά, menus,
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 7: Abstract Window Toolkit (AWT) Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 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 Swing Τα GUIs (Graphical User Interfaces) είναι τα συνηθισμένα interfaces που χρησιμοποιούν παράθυρα, κουμπιά, menus,
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 9: Γραφικές Διεπαφές Χρήστη Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότερα8.1 Top-Level Swing Containers και Swing Components
Εισαγωγή στη γλώσσα προγραμματισμού Java 59 8. Γραφικές διεπαφές τύπου Swing (Swing GUIs) Τα πακέτα που αρχίζουν με το πρόθεμα javax.swing παρέχουν ευέλικτα και ισχυρά εργαλεία ανάπτυξης 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 Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να αναγνωρίζετε τα βασικά components του AWT Να χρησιμοποιείτε AWT components για να δημιουργείτε διεπαφές χρηστών για πραγματικά
Διαβάστε περισσότεραΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Στην Java εκτός από τις κλασικές εφαρμογές μπορούμε να δημιουργήσουμε και άλλους δύο τύπους εφαρμογών: τα Applets, τα οποία τρέχουν μέσα από κάποιο φυλλομετρητή (browser) και τρέχουν
Διαβάστε περισσότεραΣύνθεταγραφικάσ ε Java
Σύνθεταγραφικάσ ε Java ΙωάννηςΓ.Τσ ούλος May 15, 2013 1 Δημιουργία απλών παραθύρων Τοεπόμενοπαράδειγμαδημιουργείέναπαράθυρομεδύοσ τατικάκείμενασ εαυτό. Στοπρώτοσ τατικόκείμενοτοκείμενοείναιαπλόκαισ τοδεύτερογίνεταιχρήσ
Διαβάστε περισσότεραΠεριεχόµενα. Πρόλογος...15
Περιεχόµενα Πρόλογος...15 Κεφάλαιο 1: Εισαγωγή...17 Τι είναι η Java... 17 Η ιστορία της Java... 21 Εκδόσεις της Java... 23 Ξεκίνηµα µε την Java... 24 Το περιβάλλον της γλώσσας... 28 ηµιουργία µιας εφαρµογής
Διαβάστε περισσότεραΕργαστήριο 8 - Άσκηση - Ανάλυση
Εργαστήριο 8 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε την εφαρµογή «Simple Menu Editor» σε Java Swing µε χρήση NetBeans. Στην εφαρµογή αυτή ο χρήστης θα µ ορεί να φορτώνει, α οθηκεύει α λό αρχείο κειµένου
Διαβάστε περισσότερα7. Ανάπτυξη GUI σε Java
7. Ανάπτυξη GUI σε Java Όταν ολοκληρώσετε αυτό το κεφάλαιο, θα μπορείτε: Να περιγράφετε το πακέτο AWT και τις συνιστώσες του. Να εξηγείτε τους containers (περιέκτες), components (συνιστώσες) και layout
Διαβάστε περισσότεραΕργαστήριο 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
ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ ΕΙΣΑΓΩΓΗ Προγραµµατισµός µε Γραφικά (Εισαγωγή στη JavaSwing και γνωριµία µε το εργαλείο NetBeans) Εξαιρετικό παράδειγµα που συνδυάζει όλες τις έννοιες του αντικειµενοστρεφή
Διαβάστε περισσότεραVK -14/10/2016 Σελίς 1
Ο Source Kώδικας της JFrame Φόρµας µε όνοµα Αsk1 Με δεξί κλικ στο Source Packages του project Ergastirio1 µε New -> JFrame Form επιλέξαµε να δηµιουργηθεί η JFrame φόρµα (πλαίσιο) µε όνοµα κλάσης Class
Διαβάστε περισσότεραJava Μέρος Ι Αντικειμενοστρεφής Προγραμματισμός - 7
Περιεχόμενα 1 Εισαγωγικές Έννοιες...12 1.1 Το Αντικείμενο στην καθημερινότητα...12 1.2 Το Αντικείμενο στον Προγραμματισμό...12 1.3 Επικοινωνία αντικειμένων...13 1.4 Κλάση (class) αντικειμένων...14 1.4.1
Διαβάστε περισσότεραΠεριεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13
Περιεχόμενα Πρόλογος... 13 ΜΕΡΟΣ ΠΡΩΤΟ Κεφ. 1 Περί προγραμματισμού και γλωσσών προγραμματισμού Προγράμματα και Λειτουργικά Συστήματα... 17 Γλώσσες προγραμματισμού και εργαλεία ανάπτυξης προγραμμάτων...
Διαβάστε περισσότεραΕργαστήριο 3 - Άσκηση - Ανάλυση
Εργαστήριο 3 - Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε την εφαρμογή «Αγορά Σπιτιού» σε Java Swing με χρήση NetBeans ακολουθώντας τις παρακάτω οδηγίες. 1. Η εφαρμογή θα σχεδιασθεί σε ένα εξωτερικό υποδοχέα
Διαβάστε περισσότεραΕργαστήριο 7 - Άσκηση - Ανάλυση
Εργαστήριο 7 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε την εφαρµογή «simple editor» σε Java Swing µε χρήση NetBeans. Στην εφαρµογή αυτή ο χρήστης θα µ ορεί να φορτώνει, α οθηκεύει α λό αρχείο κειµένου
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 4: JAVA: ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ, ΓΡΑΦΙΚΑ, APPLETS Γραφικές Διεπαφές Χρήστη - awt ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. 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 Lab11 Αντικείµενο: Δίκτυα Πακέτο java.net H Java παρέχει ένα σύνολο από ενσωµατωµένες δυνατότητες για δηµιουργία εφαρµογών στο Internet ή σε τοπικά δίκτυα. H Java παρέχει τα stream sockets
Διαβάστε περισσότεραΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 6 o ΕΡΓΑΣΤΗΡΙO
ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 6 o ΕΡΓΑΣΤΗΡΙO H φόρµα µε τίτλο «ΜΑΚΗS, θα περιέχει ένα ΤabbedPane µε 2 Καρτέλες. Στο 1 ο tab θα επιλέγεις τι θα πάρεις, και στο 2 ο θα τυπώνεται ο λογαριασμός σου 1. Θα
Διαβάστε περισσότεραΕργαστήριο 5 - Άσκηση - Ανάλυση
Εργαστήριο 5 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε την εφαρµογή «ιακο ές» σε Java Swing µε χρήση NetBeans, χρησιµο οιώντας τις εικόνες ου θα βρείτε στο moodle και ακολουθώντας τις αρακάτω οδηγίες:
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING Επισκόπηση Swing H Swing είναι η βιβλιοθήκη της Java για τον προγραμματισμό GUIs (Graphical User Interfaces) [και πιο
Διαβάστε περισσότεραΕργαστήριο 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 2. ΠΑΤΗΣΤΕ EDIT ΑΛΛΑΞΤΕ ΤΟ ΟΝΟΜΑ COMPANY CLOSE 3. ΠΑΤΗΣΤΕ NEW (CREATE NEW)
Διαβάστε περισσότερα10.1 Γενικά για τα streams
10.1 Γενικά για τα streams Για την αλληλεπίδραση ενός προγράµµατος µε ένα αρχείο, δηλαδή για την αποθήκευση ή την ανάγνωση δεδοµένων από αυτό χρησιµοποιείται ένα σύστηµα επικοινωνίας που καλείται streams.
Διαβάστε περισσότεραΕργαστήριο 6 - Άσκηση - Ανάλυση
Εργαστήριο 6 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε την εφαρµογή «fastfood» σε Java Swing µε χρήση NetBeans χρησιµο οιώντας τις εικόνες ου θα βρείτε στο moodle. Στην εφαρµογή ο υ άλληλος του µαγαζιού
Διαβάστε περισσότεραΕργαστήριο 9 - Άσκηση - Ανάλυση
Εργαστήριο 9 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε ένα αντίγραφο της άσκησης της 8ης εργαστηριακής εβδοµάδας. Κάντε τις α αραίτητες τρο ο οιήσεις ώστε να αντικαταστήσετε τα δύο jdialog ου χρησιµο οιήσατε
Διαβάστε περισσότερα8.1 Γενικά για το AWT (Abstract Window Toolkit)
8.1 Γενικά για το AWT (Abstract Window Toolkit) To AWT είναι ένα σύνολο κλάσεων που επιτρέπει την δηµιουργία γραφικής διασύνδεσης χρήστη Graphical User Interface (GUI). To GUI χρησιµοποιείται για τον τρόπο
Διαβάστε περισσότεραΠεριεχόμενα. Πρόλογος... 17
Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1 Εισαγωγή... 19 Τι είναι η Java... 19 Η ιστορία της Java... 23 Εκδόσεις της Java... 25 Ξεκίνημα με την Java... 27 Το περιβάλλον της γλώσσας... 31 Δημιουργία μιας εφαρμογής
Διαβάστε περισσότεραA3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων
A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων Τι θα μάθουμε σήμερα: Να αναφέρουμε τα κύρια χαρακτηριστικά ενός Γραφικού Περιβάλλοντος Επικοινωνίας Να εξηγούμε τη χρήση των κουμπιών του
Διαβάστε περισσότεραΕισαγωγή. Κεφάλαιο 2: Βασικές έννοιες Java Κεφάλαιο 3: Χρήση της Java στις σελίδες σας Κεφάλαιο 4: Οι πρώτες σας μικροεφαρμογές...
ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή... ix Κεφάλαιο 1: Τι είναι η Java;... 1 Ένα σύντομο μάθημα Ιστορίας...2 Γιατί να μάθει κανείς Java;...4 Διαδεδομένοι μύθοι για την Java...5 Τι θα χρειαστείτε...8 Οι διαφορετικές εκδόσεις
Διαβάστε περισσότεραΟπτικός Προγραμματισμός σε NetBeans με Java Swing
Οπτικός Προγραμματισμός σε NetBeans με Java Swing 1 NetBeans Το NetBeans είναι το επίσημο ολοκληρωμένο περιβάλλον ανάπτυξης (IDE - Integrated Development Environment) για υλοποίηση εφαρμογών σε Java 8.
Διαβάστε περισσότεραAbstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Αφαιρέσεις στη Java Abstract μέθοδοι και abstract κλάσεις Interfaces (=διασυνδέσεις, διεπαφές) Instanceof Παραδείγματα κώδικα Αφηρημένες
Διαβάστε περισσότεραΠεριεχόμενα. Πρόλογος 15
Περιεχόμενα Πρόλογος 15 1 Δημιουργία προγραμμάτων Java 25 Εκμάθηση ορολογίας προγραμματισμού 26 Σύγκριση των εννοιών του διαδικαστικού και του αντικειμενοστραφούς 29 Διαδικαστικός προγραμματισμός 29 Αντικειμενοστραφής
Διαβάστε περισσότεραΠεριεχόμενα. Πρόλογος 15
Περιεχόμενα Πρόλογος 15 1 Δημιουργία προγραμμάτων Java 25 Ορισμός βασικής ορολογίας προγραμματισμού 26 Σύγκριση διαδικαστικού και αντικειμενοστρεφούς προγραμματισμού 29 Διαδικαστικός προγραμματισμός 29
Διαβάστε περισσότεραΔημιουργία αντικειμένων γραφικών διεπαφών (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 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 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες. Θέμα 1. Δημιουργήστε μια κλάση αντικειμένων Complex η οποία να περιγράφει
Διαβάστε περισσότεραAbstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Αφαιρέσεις στη Java Abstract μέθοδοι και abstract κλάσεις Interfaces (=διασυνδέσεις, διεπαφές) Instanceof Παραδείγματα κώδικα Αφηρημένες
Διαβάστε περισσότεραΕργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών
Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση
Διαβάστε περισσότερα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 τελευταία ανανέωση: 27/03/2014 από την ICAP WEB Solutions 1 Η κατασκευή της δυναμικής σας ιστοσελίδας έχει ολοκληρωθεί και μπορείτε πλέον να προχωρήσετε σε αλλαγές ή προσθήκες
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή Οποιαδήποτε κλάση
Διαβάστε περισσότεραΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου. 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου ΣΤΟΧΟΙ:
ΜΑΘΗΜΑ 1 ΣΤΟΧΟΙ: 1. Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου (Microsoft Word) 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου 3. Δημιουργία Νέου Εγγράφου 4. Δημιουργία Εγγράφου Βασισμένο Σε Πρότυπο 5. Κλείσιμο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με κοινά χαρακτηριστικά και κοινή συμπεριφορά. Ένα καλούπι/πρότυπο
Διαβάστε περισσότεραΤ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων
Εργαστήριο Java Αντικείμενο: Αρχεία Πακέτο java.io Πακέτο java.io.zip Στην Java δεν υπάρχει η έννοια των εγγραφών μέσα σε ένα αρχείο. Ο προγραμματιστής πρέπει να κατασκευάσει το αρχείο κατάλληλα έτσι ώστε
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Διαβάστε περισσότεραΟδηγίες για την εγκατάσταση του πακέτου Cygwin
Οδηγίες για την εγκατάσταση του πακέτου Cygwin Ακολουθήστε τις οδηγίες που περιγράφονται σε αυτό το file μόνο αν έχετε κάποιο laptop ή desktop PC που τρέχουν κάποιο version των Microsoft Windows. 1) Copy
Διαβάστε περισσότεραΑνάπτυξη Plugins για το AgentSheets
Ανάπτυξη Plugins για το AgentSheets Thought Amplifier AgentSheets Ανάπτυξη Plugins AgentSheets 2.5 Συγγραφείς Τεκµηρίωσης: Alexander Repenning και Ronald Sudomo Εξελληνισµός Τεκµηρίωσης: Λίνος Βίγκλας,
Διαβάστε περισσότεραΧρήσιμες Ρυθμίσεις του 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" ); }
ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 1 o ΕΡΓΑΣΤΗΡΙO-3ασκήσεις Θα χρησιµοποιηθεί το πακέτο ΝetBeansIDE Θα δηµιουργήσουµε µια νέα εφαρµογή/ Project µε όνοµα π.χ. Ergastirio1 επιλέγοντας από το 1 ο µενού File /
Διαβάστε περισσότερα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 Επειδή οι μεταγενέστερες εκδόσεις του Word δεν περιλαμβάνουν στο μενού τη δυνατότητα δημιουργίας πολλαπλών
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr 1 Δομημένος προγραμματισμός έναντι αντικειμενοστρεφούς
Διαβάστε περισσότεραΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ
ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιασύνδεση µε χρήστη: Swing ΙΙ. Window Listeners
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 11η: 28/08/2006 1 ιασύνδεση
Διαβάστε περισσότεραΤ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων
Εργαστήριο Java Lab09 Αντικείμενο: Πολυνηματικές εφαρμογές Η χρήση περισσότερων από μιας ροής εντολών μέσα σε ένα πρόγραμμα είναι γνωστή ως multithreading. H κάθε μια ροή εντολών μέσα στο πρόγραμμα ονομάζεται
Διαβάστε περισσότεραΛίγα λόγια από το συγγραφέα Κεφάλαιο 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 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός
Διαβάστε περισσότεραΟδηγίες χρήσης για την εφαρµογή Spot4U
Οδηγίες χρήσης για την εφαρµογή Spot4U 1 Βασικές οδηγίες Λήψη Κατηγοριών Μετά την εγκατάσταση του Spot4U το πρώτο βήµα που θα πρέπει να κάνει ο χρήστης είναι να επιλέξει το Λήψη Κατηγοριών ώστε να ενηµερωθεί
Διαβάστε περισσότεραΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 2 o ΕΡΓΑΣΤΗΡΙO
ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 2 o ΕΡΓΑΣΤΗΡΙO O δικός μας Calculator jtextbox1 με δεξί κλικ αλλαγή ονόματος σε calcbox Το πρώτο πρώτο, που θα κάνετε στην φόρμα σας είναι να αλλάξετε LAYOUT Μετά φτιάξτε
Διαβάστε περισσότεραCertified Java Programmer (CJP)
Certified Java Programmer (CJP) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά τα
Διαβάστε περισσότεραΓενικό Λύκειο Κρουσώνα - Σχολικό έτος 2013-2014 Εκπαιδευτικός: Παπαδάκης Σταµάτης
Οδηγάµε το Γενικό Λύκειο Κρουσώνα - Σχολικό έτος 2013-2014 Φύλλο Εργασίας Προγραµµατισµός Εφαρµογής στο AppInventor http://ai2.appinventor.mit.edu Ακολουθώντας τα βήµατα αυτού του φύλλου εργασίας, θα αναπτύξουµε
Διαβάστε περισσότεραΤο PowerPoint (PP) είναι ένα γραφικό πρόγραμμα για παρουσιάσεις. Χαρακτηριστικά Παρουσιάσεων:
Κεφάλαιο 5 Το PowerPoint (PP) είναι ένα γραφικό πρόγραμμα για παρουσιάσεις. Χαρακτηριστικά Παρουσιάσεων: Επεξεργασία κειμένου. Δημιουργία και επεξεργασία γραφικών παραστάσεων. Δημιουργία και επεξεργασία
Διαβάστε περισσότεραΟντοκεντρικόσ Προγραμματιςμόσ
Οντοκεντρικόσ Προγραμματιςμόσ Ενότθτα 4: JAVA: ΔΙΕΠΑΦΕ ΧΡΗΣΗ, ΓΡΑΦΙΚΑ, APPLETS Γραφικζσ Διεπαφζσ Χριςτθ - Swing Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι χολι Σμιμα Μθχανικϊν Η/Τ & Πλθροφορικισ ΓΡΑΦΙΚΕ ΔΙΕΠΑΦΕ
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος
Διαβάστε περισσότεραΤύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )
Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική
Διαβάστε περισσότεραΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Υπολογιστικών Φύλλων. 2. Κύρια Οθόνη Της Εφαρμογής Υπολογιστικών Φύλλων ΣΤΟΧΟΙ:
ΜΑΘΗΜΑ 1 ΣΤΟΧΟΙ: 1. Άνοιγμα Της Εφαρμογής Υπολογιστικών Φύλλων (Microsoft Excel) 2. Κύρια Οθόνη Της Εφαρμογής Υπολογιστικών Φύλλων 3. Δημιουργία Νέου Υπολογιστικού Φύλλου 4. Δημιουργία Υπολογιστικού Φύλλου
Διαβάστε περισσότεραΕργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών
Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να καταλάβουν την διαφορά ανάμεσα σε τοπικές και καθολικές μεταβλητές. Nα κάνουν αποσφαλμάτωση
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ EXCEL ΣΤΟ GRETL
ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ EXCEL ΣΤΟ GRETL Με το οικονομετρικό λογισμικό GRETL μπορούμε να κάνουμε Ανάλυση Χρονοσειρών σε δεδομένα (χρονοσειρές) με διάφορες μεθόδους και μοντέλα. Επειδή είναι εύκολο να βρούμε
Διαβάστε περισσότεραΕνότητα 21 Pivot Tables
Ενότητα 21 Pivot Tables Όταν δημιουργείτε μια έκθεση θα θέλετε να δείτε τα δεδομένα σας με διαφορετικούς τρόπους. Μπορείτε να χρησιμοποιήσετε τους πίνακες Pivot αν θέλετε να δείτε στον πίνακα σας μόνο
Διαβάστε περισσότεραΔΗΜΙΟΥΡΓΙΑ ΚΑΤΑΛΟΓΟΥ ΕΤΕΡΟΑΝΑΦΟΡΩΝ
ΔΗΜΙΟΥΡΓΙΑ ΚΑΤΑΛΟΓΟΥ ΕΤΕΡΟΑΝΑΦΟΡΩΝ 1. Αρχικά, θα πρέπει να έχουμε συλλέξει τα scopus ID των ερευνητών του εργαστηρίου. Και μάλιστα όλα τα scopus ID των ερευνητών, καθώς κάποιος ερευνητής μπορεί να έχει
Διαβάστε περισσότεραΠως θα κατασκευάσω το πρώτο πρόγραμμα;
Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπερφόρτωση Αντικείμενα σαν ορίσματα ΥΠΕΡΦΟΡΤΩΣΗ H κλάση Car Μια κλάση που κρατάει την θέση ενός αυτοκινήτου. Μέθοδος move(): μετακινεί το αυτοκίνητο κατά μία
Διαβάστε περισσότεραΕργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών
Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.
Διαβάστε περισσότερα