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

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

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

Transcript

1 12. Δισδιάστατα γραφικά και 2D Graphics API Χειμερινό Εξάμηνο 2012 Πέτρος Κωμοδρόμος 1

2 Θέματα Εισαγωγή στα 2D Graphics Graphics Contexts and Graphics Objects Έλεγχος χρώματος (color control) Έλεγχος γραμματοσειράς (font control) Σχεδίαση γραμμών (lines), ορθογωνίων (rectangles) και οβάλ (ovals) Σχεδίαση τόξων (arcs) Σχεδίαση πολύγονων (polygons) και πολλαπλών γραμμών (polyline) Java 2D API 2

3 Εισαγωγή στα 2D Graphics Η Java παρέχει δυνατότητες γραφικών Περιέχει πιο προχωρημένες δυνατότητες για δισδιάστατα γραφικά μέσα από το Java 2D API Βασικές κλάσεις Color Font, FontMetrics Graphics2D Polygon BasicStroke GradientPaint, TexturePaint Java 2D shape classes 2D Graphics Tutorial 3

4 Τάξεις (Classes) και διασυνδέσεις (interfaces) σχετικά με τις δυνατότητες γραφικών της Java και από το Java 2D API 4

5 Σύστημα συντεταγμένων (coordinate system) Πάνω αριστερά γωνιά ενός συστατικού έχει συντεταγμένες (0, 0) Ο άξονας των X αυξάνει προς τα δεξιά Ο άξονας των Y αυξάνει προς τα κάτω Οι μονάδες συντεταγμένων μετρούνται σε pixels 5

6 Graphics Contexts και Graphics Objects Ένα Java graphics context επιτρέπει τη σχεδίαση στην οθόνη Abstract κλάση Graphics Διαχειρίζεται ένα graphics context και σχεδιάζει pixels στην οθόνη Είναι Abstract για να πετυχαίνετε portability Μέθοδος paintcomponent της κλάσης JComponent Χρησιμοποιείται για να σχεδιαστούν γραφικά Το αντικείμενο τύπου Graphics παρέχεται στη μέθοδο από το σύστημα όταν ένα lightweight Swing component πρέπει να επανασχεδιαστεί (repainted) Για να εκτελεστεί η μέθοδος paintcomponent μπορεί να κληθεί η μέθοδος repaint Έλεγχος χρώματος με τη κλάση Color Η κλάση αυτή ορίζει μεθόδους και σταθερές για τη διαχείριση και καθορισμό των χρωμάτων σε ένα πρόγραμμα Java Το κάθε χρώμα δημιουργείται από συνδυασμό των τιμών του κόκκινου, πράσινου και μπλε συστατικού (red, green and blue component RGB) 6

7 Σταθερές χρωμάτων (color constants) και οι RGB τιμές τους Color constant Color RGB value public final static Color RED red 255, 0, 0 public final static Color GREEN green 0, 255, 0 public final static Color BLUE blue 0, 0, 255 public final static Color ORANGE orange 255, 200, 0 public final static Color PINK pink 255, 175, 175 public final static Color CYAN cyan 0, 255, 255 public final static Color MAGENTA magenta 255, 0, 255 public final static Color YELLOW yellow 255, 255, 0 public final static Color BLACK black 0, 0, 0 public final static Color WHITE white 255, 255, 255 public final static Color GRAY gray 128, 128, 128 public final static Color LIGHT_GRAY light gray 192, 192, 192 public final static Color DARK_GRAY dark gray 64, 64, 64 7

8 Μέθοδοι χρωμάτων (color methods) και Graphics Method Description Color constructors and methods public Color( int r, int g, int b ) Creates a color based on red, green and blue components expressed as integers from 0 to 255. public Color( float r, float g, float b ) Creates a color based on red, green and blue components expressed as floating-point values from 0.0 to 1.0. public int getred() Returns a value between 0 and 255 representing the red content. public int getgreen() Returns a value between 0 and 255 representing the green content. public int getblue() Returns a value between 0 and 255 representing the blue content. Graphics methods for manipulating Colors public Color getcolor() Returns Color object representing current color for the graphics context. public void setcolor( Color c ) Sets the ΠΠΜ current 500: Προχωρημένη color Ανάπτυξη for Λογισμικού drawing Εφαρμογών with Μηχανικής the graphics context. 8

9 1 // Fig. 12.5: ColorJPanel.java 2 // Demonstrating Colors. 3 import java.awt.graphics; 4 import java.awt.color; 5 import javax.swing.jpanel; 6 7 public class ColorJPanel extends JPanel 8 { 9 // draw rectangles and Strings in different colors 10 public void paintcomponent( Graphics g ) 11 { 12 super.paintcomponent( g ); // call superclass's paintcomponent this.setbackground( Color.WHITE ); // set new drawing color using integers 17 g.setcolor( new Color( 255, 0, 0 ) ); 18 g.fillrect( 15, 25, 100, 20 ); 19 g.drawstring( "Current RGB: " + g.getcolor(), 130, 40 ); // set new drawing color using floats 22 g.setcolor( new Color( 0.50f, 0.75f, 0.0f ) ); 23 g.fillrect( 15, 50, 100, 20 ); 24 g.drawstring( "Current RGB: " + g.getcolor(), 130, 65 ); // set new drawing color using static Color objects 27 g.setcolor( Color.BLUE ); 28 g.fillrect( 15, 75, 100, 20 ); 29 g.drawstring( "Current ΠΠΜ 500: Προχωρημένη RGB: " Ανάπτυξη + g.getcolor(), Λογισμικού Εφαρμογών 130, Μηχανικής 90 ); 30 Method paintcomponent paints JPanel Set current drawing color with method setcolor Draw filled rectangle using current color Draw text value of current color Set current drawing color, specify float arguments to Color constructor Set current drawing color using Color constant 9

10 31 // display individual RGB values 32 Color color = Color.MAGENTA; 33 g.setcolor( color ); 34 g.fillrect( 15, 100, 100, 20 ); 35 g.drawstring( "RGB values: " + color.getred() + ", " + 36 color.getgreen() + ", " + color.getblue(), 130, 115 ); 37 } // end method paintcomponent 38 } // end class ColorJPanel Retrieving RGB values using methods getred, getgreen and getblue 10

11 1 // Fig. 12.6: ShowColors.java 2 // Demonstrating Colors. 3 import javax.swing.jframe; 4 5 public class ShowColors 6 { 7 // execute application 8 public static void main( String args[] ) 9 { 10 // create frame for ColorJPanel 11 JFrame frame = new JFrame( "Using colors" ); 12 frame.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); ColorJPanel colorjpanel = new ColorJPanel(); // create ColorJPanel 15 frame.add( colorjpanel ); // add colorjpanel to frame 16 frame.setsize( 400, 180 ); // set frame size 17 frame.setvisible( true ); // displayt frame 18 } // end main 19 } // end class ShowColors 11

12 JColorChooser Δίνει τη δυνατότητα επιλογής χρώματος Η μέθοδος showdialog δημιουργεί ένα αντικείμενο JColorChooser και το συνδέει με ένα dialog box όπου το παρουσιάζει Modal dialog Επιτρέπει στο χρήστη να επιλέξει ένα χρώμα από μία συλλογή χρωμάτων με 3 διαφορετικά tabs: Swatches HSB RGB 12

13 1 // Fig. 12.7: ShowColors2JFrame.java Outline 2 // Choosing colors with JColorChooser. 3 import java.awt.borderlayout; 4 import java.awt.color; 5 import java.awt.event.actionevent; 6 import java.awt.event.actionlistener; 7 import javax.swing.jbutton; 8 import javax.swing.jframe; 9 import javax.swing.jcolorchooser; 10 import javax.swing.jpanel; public class ShowColors2JFrame extends JFrame 13 { 14 private JButton changecolorjbutton; 15 private Color color = Color.LIGHT_GRAY; 16 private JPanel colorjpanel; // set up GUI 19 public ShowColors2JFrame() 20 { 21 super( "Using JColorChooser" ); // create JPanel for display color 24 colorjpanel = new JPanel(); 25 colorjpanel.setbackground( color ); // set up changecolorjbutton and register its event handler 28 changecolorjbutton = new JButton( "Change Color" ); 29 changecolorjbutton.addactionlistener( Import JColorChooser class 13

14 31 new ActionListener() // anonymous Outline inner class 32 { 33 // display JColorChooser when user clicks button 34 public void actionperformed( ActionEvent event ) 35 { 36 color = JColorChooser.showDialog( 37 ShowColors2JFrame.this, "Choose a color", color ); // set default color, if no color is returned 40 if ( color == null ) 41 color = Color.LIGHT_GRAY; // change content pane's background color 44 colorjpanel.setbackground( color ); 45 } // end method actionperformed 46 } // end anonymous inner class 47 ); // end call to addactionlistener add( colorjpanel, BorderLayout.CENTER ); // add colorjpanel 50 add( changecolorjbutton, BorderLayout.SOUTH ); // add button setsize( 400, 130 ); // set frame size 53 setvisible( true ); // display frame 54 } // end ShowColor2JFrame constructor 55 } // end class ShowColors2JFrame Initial selected color Change background color of JPanel Display JColorChooser dialog Reference to parent component Title bar text 14

15 1 // Fig. 12.8: ShowColors2.java 2 // Choosing colors with JColorChooser. 3 import javax.swing.jframe; 4 5 public class ShowColors2 6 { 7 // execute application 8 public static void main( String args[] ) 9 { 10 ShowColors2JFrame application = new ShowColors2JFrame(); 11 application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); 12 } // end main 13 } // end class ShowColors2 15

16 Select a color from one of the color swatches. 16

17 HSB και RGB tabs του JColorChooser dialog Sliders to select the red, green and blue color components 17

18 Έλεγχος Font με τη κλάση Font Ο constructor της κλάσης Font παίρνει 3 παραμέτρους (arguments): Font name: οποιοδήποτε font υποστηρίζεται από το σύστημα όπου τρέχει το πρόγραμμα Font style: Font.PLAIN, Font.ITALIC ή Font.BOLD, ή και συνδυασμό τους Font sizes: μετρούμενα σε points, όπου 1 point ισούται με 1/72 της ίντσας Παρέχει μεταξύ άλλων τις αντίστοιχες μεθόδους: getname getstyle getsize Οι μέθοδοι getfont και setfont της κλάσης Graphics παίρνουν ή θέτουν το παρόν font, αντίστοιχα. 18

19 Μέθοδοι και σταθερές σχετικά με τα Fonts Method or constant Description Font constants, constructors and methods public final static int PLAIN A constant representing a plain font style. public final static int BOLD A constant representing a bold font style. public final static int ITALIC A constant representing an italic font style. public Font( String name, int style, int size ) Creates a Font object with the specified font name, style and size. public int getstyle() Returns an integer value indicating the current font style. public int getsize() Returns an integer value indicating the current font size. 19

20 Method or constant public String getname() public String getfamily() public boolean isplain() public boolean isbold() public boolean isitalic() Description Graphics methods for manipulating Fonts public Font getfont() Returns the current font name as a string. Returns the font s family name as a string. Returns true if the font is plain, else false. Returns true if the font is bold, else false. Returns true if the font is italic, else false. Returns a Font object reference representing the current font. public void setfont( Font f ) Sets the current font to the font, style and size specified by the Font object reference f. 20

21 1 // Fig : FontJPanel.java 2 // Display strings in different fonts and colors. 3 import java.awt.font; 4 import java.awt.color; 5 import java.awt.graphics; 6 import javax.swing.jpanel; 7 8 public class FontJPanel extends JPanel 9 { 10 // display Strings in different fonts and colors 11 public void paintcomponent( Graphics g ) 12 { 13 super.paintcomponent( g ); // call superclass's paintconponent // set font to Serif (Times), bold, 12pt and draw a string 16 g.setfont( new Font( "Serif", Font.BOLD, 12 ) ); 17 g.drawstring( "Serif 12 point bold.", 20, 50 ); // set font to Monospaced (Courier), italic, 24pt and draw a string 20 g.setfont( new Font( "Monospaced", Font.ITALIC, 24 ) ); 21 g.drawstring( "Monospaced 24 point italic.", 20, 70 ); // set font to SansSerif (Helvetica), plain, 14pt and draw a string 24 g.setfont( new Font( "SansSerif", Font.PLAIN, 14 ) ); 25 g.drawstring( "SansSerif 14 point plain.", 20, 90 ); 26 Creating Font objects Font name Font style Font size 21

22 27 // set font to Serif (Times), bold/italic, 18pt and draw a string 28 g.setcolor( Color.RED ); 29 g.setfont( new Font( "Serif", Font.BOLD + Font.ITALIC, 18 ) ); 30 g.drawstring( g.getfont().getname() + " " + g.getfont().getsize() + 31 " point bold italic.", 20, 110 ); 32 } // end method paintcomponent 33 } // end class FontJPanel Retrieve font name and size of Graphics object s current Font Combining styles 22

23 1 // Fig : Fonts.java 2 // Using fonts. 3 import javax.swing.jframe; 4 5 public class Fonts 6 { 7 // execute application 8 public static void main( String args[] ) 9 { 10 // create frame for FontJPanel 11 JFrame frame = new JFrame( "Using fonts" ); 12 frame.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); FontJPanel fontjpanel = new FontJPanel(); // create FontJPanel 15 frame.add( fontjpanel ); // add fontjpanel to frame 16 frame.setsize( 420, 170 ); // set frame size 17 frame.setvisible( true ); // display frame 18 } // end main 19 } // end class Fonts 23

24 Σχεδίαση γραμμών (lines), ορθογωνίων (rectangles) και οβάλ (oval) σχημάτων Βασικές μέθοδοι της κλάσης Graphics fillrect και drawrect: σχεδίαση γεμάτων και κενών, αντίστοιχα, ορθογωνίων fillroundrect και drawroundrect: σχεδίαση γεμάτων και κενών, αντίστοιχα, ορθογωνίων με καμπυλωμένες γωνιές (rounded corners) draw3drect και fill3drect: σχεδίαση ενός τρισδιάστατου ορθογωνίου (3D rectangle) το οποίο είναι είτε ανεβασμένο (raised) είτε κατεβασμένο (lowered) drawoval και filloval: σχεδίαση οβάλ σχημάτων (ovals) 24

25 Method Μέθοδοι της κλάσης Graphics για σχεδίαση γραμμών, ορθογωνίων και οβάλ Description public void drawline( int x1, int y1, int x2, int y2 ) Draws a line between the point (x1, y1) and the point (x2, y2). public void drawrect( int x, int y, int width, int height ) Draws a rectangle of the specified width and height. The top-left corner of the rectangle has the coordinates (x, y). Only the outline of the rectangle is drawn using the Graphics object s color the body of the rectangle is not filled with this color. public void fillrect( int x, int y, int width, int height ) Draws a filled rectangle with the specified width and height. The top-left corner of the rectangle has the coordinate (x, y). The rectangle is filled with the Graphics object s color. public void clearrect( int x, int y, int width, int height ) Draws a filled rectangle with the specified width and height in the current background color. The top-left corner of the rectangle has the coordinate (x, y). This method is useful if the programmer wants to remove a portion of an image. public void drawroundrect( int x, int y, int width, int height, int arcwidth, int archeight ) Draws a rectangle with rounded corners in the current color with the specified width and height. The arcwidth and archeight determine the rounding of the corners (see Fig ). Only the outline of the shape is drawn. 25

26 Method Description public void fillroundrect( int x, int y, int width, int height, int arcwidth, int archeight ) Draws a filled rectangle with rounded corners in the current color with the specified width and height. The arcwidth and archeight determine the rounding of the corners (see Fig ). public void draw3drect( int x, int y, int width, int height, boolean b ) Draws a three-dimensional rectangle in the current color with the specified width and height. The top-left corner of the rectangle has the coordinates (x, y). The rectangle appears raised when b is true and lowered when b is false. Only the outline of the shape is drawn. public void fill3drect( int x, int y, int width, int height, boolean b ) Draws a filled three-dimensional rectangle in the current color with the specified width and height. The top-left corner of the rectangle has the coordinates (x, y). The rectangle appears raised when b is true and lowered when b is false. public void drawoval( int x, int y, int width, int height ) Draws an oval in the current color with the specified width and height. The bounding rectangle s top-left corner is at the coordinates (v, y). The oval touches all four sides of the bounding rectangle at the center of each side (see Fig ). Only the outline of the shape is drawn. public void filloval( int x, int y, int width, int height ) Draws a filled oval in the current color with the specified width and height. The bounding rectangle s top-left corner is at the coordinates (x, y). The oval touches all four sides of the bounding rectangle at the center of each side ΠΠΜ (see 500: Fig. Προχωρημένη 12.21). Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής 26

27 import java.awt.color; import java.awt.graphics; import javax.swing.jpanel; public class MyShapes extends JPanel { public void paintcomponent( Graphics g ) { super.paintcomponent( g ); this.setbackground( Color.WHITE ); MyShapes.java g.setcolor( Color.BLUE ); int x1=5, y1=20, x2=250, y2=20; g.drawline(x1,y1,x2,y2); g.setcolor( Color.CYAN ); g.drawline(x1,y1+200,x2,y2+200); g.setcolor( Color.RED ); int x=20, y=50, w=200, h=150; g.fillrect(x,y,w,h); g.setcolor( Color.GREEN ); g.fill3drect(x+w/2-30, y+h/2-20, 60, 40, false ); } g.setcolor( Color.MAGENTA ); g.drawoval( 250, y+h/2-40, 40, 80 ); } 27

28 import java.awt.color; import javax.swing.jframe; TestMyShapes.java public class TestMyShapes { public static void main( String args[] ) { JFrame frame = new JFrame( "My Shapes Example" ); frame.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); } } MyShapes shapes = new MyShapes(); shapes.setbackground(color.white); frame.add(shapes); frame.setsize(350,300); frame.setvisible(true); 28

29 1 // Fig : LinesRectsOvalsJPanel.java 2 // Drawing lines, rectangles and ovals. 3 import java.awt.color; 4 import java.awt.graphics; 5 import javax.swing.jpanel; 6 7 public class LinesRectsOvalsJPanel extends JPanel 8 { 9 // display various lines, rectangles and ovals 10 public void paintcomponent( Graphics g ) 11 { 12 super.paintcomponent( g ); // call superclass's paint method this.setbackground( Color.WHITE ); g.setcolor( Color.RED ); 17 g.drawline( 5, 30, 380, 30 ); g.setcolor( Color.BLUE ); 20 g.drawrect( 5, 40, 90, 55 ); 21 g.fillrect( 100, 40, 90, 55 ); 22 Draw a straight line Draw an empty rectangle Draw a filled rectangle 29

30 23 g.setcolor( Color.CYAN ); 24 g.fillroundrect( 195, 40, 90, 55, 50, 50 ); 25 g.drawroundrect( 290, 40, 90, 55, 20, 20 ); g.setcolor( Color.YELLOW ); 28 g.draw3drect( 5, 100, 90, 55, true ); 29 g.fill3drect( 100, 100, 90, 55, false ); g.setcolor( Color.MAGENTA ); 32 g.drawoval( 195, 100, 90, 55 ); 33 g.filloval( 290, 100, 90, 55 ); 34 } // end method paintcomponent 35 } // end class LinesRectsOvalsJPanel Draw a filled rectangle with rounded corners Draw an empty rectangle with rounded corners Draw an empty rectangle that is raised Draw a filled rectangle that is lowered Draw an empty oval Draw a filled oval 30

31 1 // Fig : LinesRectsOvals.java 2 // Drawing lines, rectangles and ovals. 3 import java.awt.color; 4 import javax.swing.jframe; 5 6 public class LinesRectsOvals 7 { 8 // execute application 9 public static void main( String args[] ) 10 { 11 // create frame for LinesRectsOvalsJPanel 12 JFrame frame = 13 new JFrame( "Drawing lines, rectangles and ovals" ); 14 frame.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); 15 31

32 16 LinesRectsOvalsJPanel linesrectsovalsjpanel = 17 new LinesRectsOvalsJPanel(); 18 linesrectsovalsjpanel.setbackground( Color.WHITE ); 19 frame.add( linesrectsovalsjpanel ); // add panel to frame 20 frame.setsize( 400, 210 ); // set frame size 21 frame.setvisible( true ); // display frame 22 } // end main 23 } // end class LinesRectsOvals fillroundrect drawline drawroundrect drawrect fillrect drawoval filloval draw3drect fill3drect 32

33 Πλάτος και ύψος τόξων για rounded rectangles 33

34 Σχεδιασμός τόξων (arcs) Ένα τόξο (arc) σχεδιάζεται σαν ένα τμήμα ενός οβάλ (oval) Οι μέθοδοι drawarc και fillarc της κλάσης Graphics χρησιμοποιούνται για τη σχεδίαση τόξων 34

35 Μέθοδοι της κλάσης Graphics για σχεδίαση τόξων Method Description public void drawarc( int x, int y, int width, int height, int startangle, int arcangle ) Draws an arc relative to the bounding rectangle s top-left x and y coordinates with the specified width and height. The arc segment is drawn starting at startangle and sweeps arcangle degrees. public void fillarc( int x, int y, int width, int height, int startangle, int arcangle ) Draws a filled arc (i.e., a sector) relative to the bounding rectangle s top-left x and y coordinates with the specified width and height. The arc segment is drawn starting at startangle and sweeps arcangle degrees. 35

36 1 // Fig : ArcsJPanel.java 2 // Drawing arcs. 3 import java.awt.color; 4 import java.awt.graphics; 5 import javax.swing.jpanel; 6 7 public class ArcsJPanel extends JPanel 8 { 9 // draw rectangles and arcs 10 public void paintcomponent( Graphics g ) 11 { 12 super.paintcomponent( g ); // call superclass's paintcomponent // start at 0 and sweep 360 degrees 15 g.setcolor( Color.RED ); 16 g.drawrect( 15, 35, 80, 80 ); 17 g.setcolor( Color.BLACK ); 18 g.drawarc( 15, 35, 80, 80, 0, 360 ); // start at 0 and sweep 110 degrees 21 g.setcolor( Color.RED ); 22 g.drawrect( 100, 35, 80, 80 ); 23 g.setcolor( Color.BLACK ); 24 g.drawarc( 100, 35, 80, 80, 0, 110 ); 25 x- and y-coordinates for upper left corner of bounding rectangle Width and height of bounding rectangle Starting angle Sweep angle Draw empty arcs 36

37 26 // start at 0 and sweep -270 degrees 27 g.setcolor( Color.RED ); 28 g.drawrect( 185, 35, 80, 80 ); 29 g.setcolor( Color.BLACK ); 30 g.drawarc( 185, 35, 80, 80, 0, -270 ); // start at 0 and sweep 360 degrees 33 g.fillarc( 15, 120, 80, 40, 0, 360 ); // start at 270 and sweep -90 degrees 36 g.fillarc( 100, 120, 80, 40, 270, -90 ); // start at 0 and sweep -270 degrees 39 g.fillarc( 185, 120, 80, 40, 0, -270 ); 40 } // end method paintcomponent 41 } // end class ArcsJPanel Draw filled arcs Negative values indicate arc should sweep clockwise 37

38 1 // Fig : DrawArcs.java 2 // Drawing arcs. 3 import javax.swing.jframe; 4 5 public class DrawArcs 6 { 7 // execute application 8 public static void main( String args[] ) 9 { 10 // create frame for ArcsJPanel 11 JFrame frame = new JFrame( "Drawing Arcs" ); 12 frame.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); ArcsJPanel arcsjpanel = new ArcsJPanel(); // create ArcsJPanel 15 frame.add( arcsjpanel ); // add arcsjpanel to frame 16 frame.setsize( 300, 210 ); // set frame size 17 frame.setvisible( true ); // display frame 18 } // end main 19 } // end class DrawArcs 38

39 39

40 Σχεδιασμός πολυγώνων (polygons) και συνδεδεμένων πολλαπλών ευθύγραμμων τμημάτων (polylines) Πολύγωνα (polygons) Με τις μεθόδους drawpolygon και fillpolygon της κλάσης Graphics Πολύγωνα μπορούν να αντιπροσωπευτούν χρησιμοποιώντας τη κλάση Polygon, η οποία παρέχει τη μέθοδο addpoint για να προστεθεί σημείο στο πολύγωνο Πολλαπλά ευθύγραμμα τμήματα (polylines) Συνδεδεμένα ευθύγραμμα τμήματα Η μέθοδος drawpolyline της κλάσης Graphics χρησιμοποιείται για να σχεδιαστούν polylines 40

41 Μέθοδοι της κλάσης Graphics για πολύγωνα (polygons) Method Description Graphics methods for drawing polygons public void drawpolygon( int xpoints[], int ypoints[], int points ) Draws a polygon. The x-coordinate of each point is specified in the xpoints array, and the y- coordinate of each point in the ypoints array. The last argument specifies the number of points. This method draws a closed polygon. If the last point is different from the first, the polygon is closed by a line that connects the last point to the first. public void drawpolyline( int xpoints[], int ypoints[], int points ) Draws a sequence of connected lines. The x-coordinate of each point is specified in the xpoints array, and the y-coordinate of each point in the ypoints array. The last argument specifies the number of points. If the last point is different from the first, the polyline is not closed. public void drawpolygon( Polygon p ) Draws the specified polygon. public void fillpolygon( int xpoints[], int ypoints[], int points ) Draws a filled polygon. The x-coordinate of each point is specified in the xpoints array, and the y-coordinate of each point in the ypoints array. The last argument specifies the number of Method Description points. This method draws a closed polygon. If the last point is different from the first, the polygon is closed by a line that connects the last point to the first. public void fillpolygon( Polygon p ) Polygon constructors and methods Draws the specified filled polygon. The polygon is closed. 41

42 Μέθοδοι της κλάσης Polygon Method Description public void fillpolygon( Polygon p ) Method Description Draws the specified filled polygon. The polygon is closed. Polygon public void constructors fillpolygon( and methods Polygon p ) public Polygon() Draws the specified filled polygon. The polygon is closed. Polygon constructors Constructs and methods a new polygon object. The polygon does not contain any points. public Polygon() int xvalues[], int yvalues[], int numberofpoints ) Constructs a new polygon object. The polygon does not contain any points. Constructs new polygon object. The polygon has numberofpoints sides, with each point public Polygon( consisting int xvalues[], of an x-coordinate int yvalues[], from xvalues int and numberofpoints a y-coordinate from yvalues. ) public void addpoint( Constructs int a new x, polygon int y object. ) The polygon has numberofpoints sides, with each point consisting of an x-coordinate from xvalues and a y-coordinate from yvalues. Adds pairs of x- and y-coordinates to the Polygon. public void addpoint( int x, int y ) Adds pairs of x- and y-coordinates to the Polygon. 42

43 1 // Fig : PolygonsJPanel.java 2 // Drawing polygons. 3 import java.awt.graphics; 4 import java.awt.polygon; 5 import javax.swing.jpanel; 6 7 public class PolygonsJPanel extends JPanel 8 { 9 // draw polygons and polylines 10 public void paintcomponent( Graphics g ) 11 { 12 super.paintcomponent( g ); // call superclass's paintcomponent // draw polygon with Polygon object 15 int xvalues[] = { 20, 40, 50, 30, 20, 15 }; 16 int yvalues[] = { 50, 50, 60, 80, 80, 60 }; 17 Polygon polygon1 = new Polygon( xvalues, yvalues, 6 ); 18 g.drawpolygon( polygon1 ); // draw polylines with two arrays 21 int xvalues2[] = { 70, 90, 100, 80, 70, 65, 60 }; 22 int yvalues2[] = { 100, 100, 110, 110, 130, 110, 90 }; 23 g.drawpolyline( xvalues2, yvalues2, 7 ); 24 Create Polygon object from sets of x- and y-coordinates Draw an empty Polygon Draw polyline from sets of x- and y- coordinates 43

44 25 // fill polygon with two arrays 26 int xvalues3[] = { 120, 140, 150, 190 }; 27 int yvalues3[] = { 40, 70, 80, 60 }; 28 g.fillpolygon( xvalues3, yvalues3, 4 ); // draw filled polygon with Polygon object 31 Polygon polygon2 = new Polygon(); 32 polygon2.addpoint( 165, 135 ); 33 polygon2.addpoint( 175, 150 ); 34 polygon2.addpoint( 270, 200 ); 35 polygon2.addpoint( 200, 220 ); 36 polygon2.addpoint( 130, 180 ); 37 g.fillpolygon( polygon2 ); 38 } // end method paintcomponent 39 } // end class PolygonsJPanel Draw polygon from sets of x- and y- coordinates, without creating Polygon object Add coordinates to Polygon with method addpoint 44

45 1 // Fig : DrawPolygons.java 2 // Drawing polygons. 3 import javax.swing.jframe; 4 5 public class DrawPolygons 6 { 7 // execute application 8 public static void main( String args[] ) 9 { 10 // create frame for PolygonsJPanel 11 JFrame frame = new JFrame( "Drawing Polygons" ); 12 frame.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); PolygonsJPanel polygonsjpanel = new PolygonsJPanel(); 15 frame.add( polygonsjpanel ); // add polygonsjpanel to frame 16 frame.setsize( 280, 270 ); // set frame size 17 frame.setvisible( true ); // display frame 18 } // end main 19 } // end class DrawPolygons 45

46 Result of line 28 Result of line 18 Result of line 23 Result of line 37 46

47 Προχωρημένες δυνατότητες γραφικών και Java 2D API Παρέχει προχωρημένες δυνατότητες για λεπτομερή και πολύπλοκους χειρισμούς δισδιάστατων γραφικών Διευρυμένες δυνατότητες για επεξεργασία γραμμών, κειμένου και εικόνων Επιτυγχάνεται με τη χρήση της κλάσης Graphics2D Υποκλάση της κλάσης Graphics Πρόσβαση στη Graphics2D με casting στη paintcomponent του (Graphics g): Graphics2D g2d = (Graphics2D) g; Πολύ χρήσιμο 2D Graphics Tutorial από τη SUN Για προχωρημένα θέματα τρισδιάστατων γραφικών (3D Graphics) υπάρχει το Java 3D API και αντίστοιχα Java 3D tutorials 47

48 Βασικά σχήματα από το Graphics2D της Java Με double-precision floating-point values: Line2D.Double Rectangle2D.Double RoundRectangle2D.Double Arc2D.Double Ellipse2D.Double Αντίστοιχες κλάσεις με single-precision floating-point values: Line2D.Float Rectangle2D.Float RoundRectangle2D.Float Arc2D.Float Ellipse2D.Float Double και Float, αντίστοιχα, είναι static nested classes 48

49 Η μέθοδος setpaint ορίζει το χρώμα για κάποιο Graphics2D όταν σχεδιάζεται κάποιο σχήμα χρησιμοποιώντας αντικείμενο Paint Το αντικείμενο Paint μπορεί να είναι ένα προκαθορισμένο αντικείμενο Color, ή ένα αντικείμενο των κλάσεων GradientPaint, SystemColor ή TexturePaint Η μέθοδος fill της Graphics2D χρησιμοποιείται για να σχεδιαστεί ένα γεμάτο (filled) σχήμα, το οποίο υλοποιεί το interface Shape Η μέθοδος draw της Graphics2D χρησιμοποιείται για να σχεδιαστεί ένα άδειο (filled) σχήμα, το οποίο υλοποιεί το interface Shape Η μέθοδος του Graphics2D setstroke, η οποία παίρνει παράμετρο που υλοποιεί το interface Stroke, ορίζει το stroke μιας γραμμής ή ενός ορίου 49

50 1 // Fig : ShapesJPanel.java 2 // Demonstrating some Java 2D shapes. 3 import java.awt.color; 4 import java.awt.graphics; 5 import java.awt.basicstroke; 6 import java.awt.gradientpaint; 7 import java.awt.texturepaint; 8 import java.awt.rectangle; 9 import java.awt.graphics2d; 10 import java.awt.geom.ellipse2d; 11 import java.awt.geom.rectangle2d; 12 import java.awt.geom.roundrectangle2d; 13 import java.awt.geom.arc2d; 14 import java.awt.geom.line2d; 15 import java.awt.image.bufferedimage; 16 import javax.swing.jpanel; public class ShapesJPanel extends JPanel 19 { 20 // draw shapes with Java 2D API 21 public void paintcomponent( Graphics g ) 22 { 23 super.paintcomponent( g ); // call superclass's paintcomponent Graphics2D g2d = ( Graphics2D ) g; // cast g to Graphics2D Java 2D API shape classes Creating Graphics2D reference 50

51 27 // draw 2D ellipse filled with a blue-yellow gradient 28 g2d.setpaint( new GradientPaint( 5, 30, Color.BLUE, 35, 100, 29 Color.YELLOW, true ) ); 30 g2d.fill( new Ellipse2D.Double( 5, 30, 65, 100 ) ); // draw 2D rectangle in red 33 g2d.setpaint( Color.RED ); 34 g2d.setstroke( new BasicStroke( 10.0f ) ); 35 g2d.draw( new Rectangle2D.Double( 80, 30, 65, 100 ) ); // draw 2D rounded rectangle with a buffered background 38 BufferedImage buffimage = new BufferedImage( 10, 10, 39 BufferedImage.TYPE_INT_RGB ); // obtain Graphics2D from bufferimage and draw on it 42 Graphics2D gg = buffimage.creategraphics(); 43 gg.setcolor( Color.YELLOW ); // draw in yellow 44 gg.fillrect( 0, 0, 10, 10 ); // draw a filled rectangle 45 gg.setcolor( Color.BLACK ); // draw in black 46 gg.drawrect( 1, 1, 6, 6 ); // draw a rectangle 47 gg.setcolor( Color.BLUE ); // draw in blue 48 gg.fillrect( 1, 1, 3, 3 ); // draw a filled rectangle 49 gg.setcolor( Color.RED ); // draw in red 50 gg.fillrect( 4, 4, 3, 3 ); // draw a filled rectangle 51 Draw ellipse filled using gradient Set Graphics2D object to draw using a gradient from blue to yellow Set width of border to 10 pixels Create image to be used for TexturePaint object 51

52 52 // paint buffimage onto the JFrame 53 g2d.setpaint( new TexturePaint( buffimage, 54 new Rectangle( 10, 10 ) ) ); 55 g2d.fill( 56 new RoundRectangle2D.Double( 155, 30, 75, 100, 50, 50 ) ); // draw 2D pie-shaped arc in white 59 g2d.setpaint( Color.WHITE ); 60 g2d.setstroke( new BasicStroke( 6.0f ) ); 61 g2d.draw( 62 new Arc2D.Double( 240, 30, 75, 100, 0, 270, Arc2D.PIE ) ); // draw 2D lines in green and yellow 65 g2d.setpaint( Color.GREEN ); 66 g2d.draw( new Line2D.Double( 395, 30, 320, 150 ) ); // draw 2D line using stroke 69 float dashes[] = { 10 }; // specify dash pattern 70 g2d.setpaint( Color.YELLOW ); 71 g2d.setstroke( new BasicStroke( 4, BasicStroke.CAP_ROUND, 72 BasicStroke.JOIN_ROUND, 10, dashes, 0 ) ); 73 g2d.draw( new Line2D.Double( 320, 30, 395, 150 ) ); 74 } // end method paintcomponent 75 } // end class ShapesJPanel Create TexturePaint object from image Draw rounded rectangle, filled with repeating image Draw arc using white border, 6 pixels wide Draw solid green line Set stroke to use dashes Draw dashed yellow line 52

53 1 // Fig : Shapes.java 2 // Demonstrating some Java 2D shapes. 3 import javax.swing.jframe; 4 5 public class Shapes 6 { 7 // execute application 8 public static void main( String args[] ) 9 { 10 // create frame for ShapesJPanel 11 JFrame frame = new JFrame( "Drawing 2D shapes" ); 12 frame.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); // create ShapesJPanel 15 ShapesJPanel shapesjpanel = new ShapesJPanel(); frame.add( shapesjpanel ); // add shapesjpanel to frame 18 frame.setsize( 425, 200 ); // set frame size 19 frame.setvisible( true ); // display frame 20 } // end main 21 } // end class Shapes 53

54 54

55 General Paths Ένα general path είναι ένα σχήμα που κατασκευάζεται από ευθύγραμμα τμήματα (straight lines) και σύνθετες καμπύλες (complex curves) Κλάση GeneralPath Η μέθοδος moveto ορίζει το πρώτο σημείο σε ένα general path Η μέθοδος lineto σχεδιάζει μια γραμμή στο επόμενο σημείο του path Η μέθοδος closepath συμπληρώνει το general path Η μέθοδος translate της κλάσης Graphics2D χρησιμοποιείται για να μετατοπίσει το drawing origin Η μέθοδος rotate της κλάσης Graphics2D χρησιμοποιείται για να περιστρέψει το επόμενο σχήμα 55

56 1 // Fig : Shapes2JPanel.java 2 // Demonstrating a general path. 3 import java.awt.color; 4 import java.awt.graphics; 5 import java.awt.graphics2d; 6 import java.awt.geom.generalpath; 7 import java.util.random; 8 import javax.swing.jpanel; 9 10 public class Shapes2JPanel extends JPanel 11 { 12 // draw general paths 13 public void paintcomponent( Graphics g ) 14 { 15 super.paintcomponent( g ); // call superclass's paintcomponent 16 Random random = new Random(); // get random number generator int xpoints[] = { 55, 67, 109, 73, 83, 55, 27, 37, 1, 43 }; 19 int ypoints[] = { 0, 36, 36, 54, 96, 72, 96, 54, 36, 36 }; Graphics2D g2d = ( Graphics2D ) g; 22 GeneralPath star = new GeneralPath(); // create GeneralPath object // set the initial coordinate of the General Path 25 star.moveto( xpoints[ 0 ], ypoints[ 0 ] ); 26 Create GeneralPath object Set starting point of GeneralPath object 56

57 27 // create the star--this does not draw the star 28 for ( int count = 1; count < xpoints.length; count++ ) 29 star.lineto( xpoints[ count ], ypoints[ count ] ); star.closepath(); // close the shape g2d.translate( 200, 200 ); // translate the origin to (200, 200) // rotate around origin and draw stars in random colors 36 for ( int count = 1; count <= 20; count++ ) 37 { 38 g2d.rotate( Math.PI / 10.0 ); // rotate coordinate system // set random drawing color 41 g2d.setcolor( new Color( random.nextint( 256 ), 42 random.nextint( 256 ), random.nextint( 256 ) ) ); g2d.fill( star ); // draw filled star 45 } // end for 46 } // end method paintcomponent 47 } // end class Shapes2JPanel Draw line from last point to first point Draw star at current angle around origin Add lines of general path Rotate approximately 18 degrees 57

58 1 // Fig : Shapes2.java 2 // Demonstrating a general path. 3 import java.awt.color; 4 import javax.swing.jframe; 5 6 public class Shapes2 7 { 8 // execute application 9 public static void main( String args[] ) 10 { 11 // create frame for Shapes2JPanel 12 JFrame frame = new JFrame( "Drawing 2D Shapes" ); 13 frame.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); Shapes2JPanel shapes2jpanel = new Shapes2JPanel(); 16 frame.add( shapes2jpanel ); // add shapes2jpanel to frame 17 frame.setbackground( Color.WHITE ); // set frame background color 18 frame.setsize( 400, 400 ); // set frame size 19 frame.setvisible( true ); // display frame 20 } // end main 21 } // end class Shapes2 58

59 59

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

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

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

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

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

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

Η λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΕΝΤΡΟ ΠΛΗ.ΝΕ.Τ. Ν. ΦΛΩΡΙΝΑΣ. Η Γλώσσα Προγραµµατισµού Java

ΚΕΝΤΡΟ ΠΛΗ.ΝΕ.Τ. Ν. ΦΛΩΡΙΝΑΣ. Η Γλώσσα Προγραµµατισµού Java ΚΕΝΤΡΟ ΠΛΗ.ΝΕ.Τ. Ν. ΦΛΩΡΙΝΑΣ Η Γλώσσα Προγραµµατισµού Java Εισαγωγή στη Java Η γλώσσα προγραµµατισµού Java είναι από τις δηµοφιλέστερες στο είδος της και µπορεί να χρησιµοποιηθεί τόσο για αυτόνοµες εφαρµογές

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

New Project Windows Forms Applications

New Project Windows Forms Applications Ανάπτυξη απλής εφαρµογής. Solutions, Projects, GUI, Events, Debugging. New Project Windows Forms Applications Name: ΜyLucky7 Location: C:\... Solution Name: ΜyLucky7 OK (επιλογή έκδοσης του πλαισίου Εφαρµογών.NET)

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

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

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

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

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

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

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

5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού

5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού 5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού Χειμερινό εξάμηνο 2013 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Αντικειμενοστραφής προγραμματισμός Τάξεις (classes)

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

Γαβαλάς Δαμιανός dgavalas@aegean.gr. Δικτυακά Πολυμέσα ΙΙ Εργαστήριο #3 0 : Εισαγωγή στacascading Style Sheets (CSS)

Γαβαλάς Δαμιανός dgavalas@aegean.gr. Δικτυακά Πολυμέσα ΙΙ Εργαστήριο #3 0 : Εισαγωγή στacascading Style Sheets (CSS) Δικτυακά Πολυμέσα ΙΙ Εργαστήριο #3 0 : Εισαγωγή στacascading Style Sheets (CSS) Γαβαλάς Δαμιανός dgavalas@aegean.gr Επικαλυπτόμενα Φύλλα Στυλ (Cascading Style Sheets, CSS) Η (X)HTML προσδιορίζει τη βασική

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

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

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

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

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

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

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

ιαδικτυακές Εφαρµογές

ιαδικτυακές Εφαρµογές ιαδικτυακές Εφαρµογές µε Java2 Στοιχεία ικτυακής Επικοινωνίας Όροι IP address 32bit αριθµός που χρησιµοποιείται από το Internet Protocol για την παράδοση δεδοµένων στο σωστό υπολογιστή στο δίκτυο. Port

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

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

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

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

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΕΡΓΑΣΤΗΡΙΟ - 3 ΘΕΜΑΤΑ: Κλάσεις Αντικείμενα Δομητές/Κατασκευαστές - Μέθοδοι - Παράμετροι

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

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011 Διάρκεια Διαγωνισμού: 3 ώρες Απαντήστε όλες τις ερωτήσεις Μέγιστο Βάρος (20 Μονάδες) Δίνεται ένα σύνολο από N σφαιρίδια τα οποία δεν έχουν όλα το ίδιο βάρος μεταξύ τους και ένα κουτί που αντέχει μέχρι

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

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

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

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

CYTA Cloud Server Set Up Instructions

CYTA Cloud Server Set Up Instructions CYTA Cloud Server Set Up Instructions ΕΛΛΗΝΙΚΑ ENGLISH Initial Set-up Cloud Server To proceed with the initial setup of your Cloud Server first login to the Cyta CloudMarketPlace on https://cloudmarketplace.cyta.com.cy

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

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version 25-7-2015 ΗΜΙΤΕΛΗΣ!!!!

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version 25-7-2015 ΗΜΙΤΕΛΗΣ!!!! VBA ΣΤΟ WORD Version 25-7-2015 ΗΜΙΤΕΛΗΣ!!!! Μου παρουσιάστηκαν δύο θέματα. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Εγραφα σε ένα αρχείο του Word τις

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.

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

Μικροεφαρμογές (Applets)

Μικροεφαρμογές (Applets) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #9 η : Μικρο εφαρμογές (Applets), Γραφικά Γαβαλάς Δαμιανός dgavalas@aegean.gr Μικροεφαρμογές (Applets) Γενικά στην πληροφορική, ένα applet είναι μια

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

API: Applications Programming Interface

API: Applications Programming Interface ÒØ Ñ ÒÓ ØÖ ÔÖÓ» Ñ ÒØ Ñ ÒÓ ØÖ ÔÖÓ Ö ÑÑ Ø Ñ ½ Ö Ø Ò Ô Ö Ø ÒØ Ñ ÒÛÒ ÒÒÓ ôòøóù ÔÖ Ñ Ø Ó ÑÓÙ Ì ÔÓ ÓÑ ÒÛÒ Ì µ (i) ÒÓÐÓØ ÑôÒ (ii)ôö Ü º Ð ØÖ Ò Ò ÖÛÔÓ ØÖ ÔÐ Ò Ø Ó Ó Ù Ø Ñ Ø ººº ½ºÈÖÛØ ÓÒØ Ø ÔÓ int double char

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

Right Rear Door. Let's now finish the door hinge saga with the right rear door

Right Rear Door. Let's now finish the door hinge saga with the right rear door Right Rear Door Let's now finish the door hinge saga with the right rear door You may have been already guessed my steps, so there is not much to describe in detail. Old upper one file:///c /Documents

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

Δομές Δεδομένων & Ανάλυση Αλγορίθμων. 3ο Εξάμηνο. Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα. http://aetos.it.teithe.gr/~demos/teaching_gr.

Δομές Δεδομένων & Ανάλυση Αλγορίθμων. 3ο Εξάμηνο. Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα. http://aetos.it.teithe.gr/~demos/teaching_gr. Δομές Δεδομένων & Ανάλυση Αλγορίθμων 3ο Εξάμηνο Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα http://aetos.it.teithe.gr/~demos/teaching_gr.html Δημοσθένης Σταμάτης Τμήμα Μηχανικών Πληροφορικής ATEI ΘΕΣΣΑΛΟΝΙΚΗΣ

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

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

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

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

Διάγραμμα Κλάσεων. Class Diagram

Διάγραμμα Κλάσεων. Class Diagram Διάγραμμα Κλάσεων Class Diagram Γενικά Ορίζει τις κλάσεις αντικειμένων σε ένα σύστημα, τις μεθόδους και τις συναρτήσεις τους, και τις συσχετίσεις μεταξύ των κλάσεων. Περιγράφουν την δομή και συμπεριφορά

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

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

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

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

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5 Περιεχόµενα 1 Εισαγωγή στις οµές εδοµένων 3 2 Στοίβα (Stack) 5 i ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ ii Πληροφορίες Εργαστηρίου Σκοπός του εργαστηρίου Το εργαστήριο οµές εδοµένων αποσκοπεί στην εφαρµογή των τεχνολογιών

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

ΗΥ252 Πρόοδος 24 Νοεμβρίου 2012 Σελίδα 2 από 8

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

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

4 Συλλογές Αντικειμένων

4 Συλλογές Αντικειμένων 4 Συλλογές Αντικειμένων Πώς χειριζόμαστε αντικείμενα σε ομάδες με επανάληψη Η Απαίτηση Συλλογών Αντικειμένων Πολλές εφαρμογές χρειάζονται πλήθος αντικειμένων: Κατάλογος βιβλίων Φοιτητολόγιο Πελατολόγιο

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

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

Γραφικά Περιβάλλοντα

Γραφικά Περιβάλλοντα Γραφικά Περιβάλλοντα (Standard Drawing) Διδάσκοντες: Νικόλας Νικολάου Εαρινό Εξάµηνο 2013/14 Τι θα δούµε σήµερα; Αναπαραγωγή γραφικών µε την χρήση της βιβλιοθήκης StdDraw 1 StdDraw: Βιβλιοθήκη για την

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

A ΜΕΡΟΣ. 1 program Puppy_Dog; 2 3 begin 4 end. 5 6 { Result of execution 7 8 (There is no output from this program ) 9 10 }

A ΜΕΡΟΣ. 1 program Puppy_Dog; 2 3 begin 4 end. 5 6 { Result of execution 7 8 (There is no output from this program ) 9 10 } A ΜΕΡΟΣ 1 program Puppy_Dog; begin 4 end. 5 6 { Result of execution 7 (There is no output from this program ) 10 } (* Κεφάλαιο - Πρόγραµµα EX0_.pas *) 1 program Kitty_Cat; begin 4 Writeln('This program');

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

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

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

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

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

Προγραµµατισµός ΙΙ Java 2 Προγραµµατισµός ΙΙ Java 2 ηµιουργική Εργασία µε Κλάσεις κι Αντικείµενα Τι Θα Μελετήσουµε οµή µιας κλάσης και των µεθόδων της Επιθεώρηση των κλάσεων και των µεθόδων τους Μέθοδοι και this Υπερφόρτωση µεθόδων

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

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

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

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

Σι θα δούμε σε αυτό το μάθημα;

Σι θα δούμε σε αυτό το μάθημα; Σι θα δούμε σε αυτό το μάθημα; Γήισζε, αξρηθνπνίεζε θαη ρξήζε κεηαβιεηώλ πηλάθσλ (arrays) Γήισζε, αξρηθνπνίεζε θαη ρξήζε κεηαβιεηώλ ζπιινγώλ (collections) Σι είναι ένας πίνακας (array) Έλαο πίλαθαο είλαη

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

Areas and Lengths in Polar Coordinates

Areas and Lengths in Polar Coordinates Kiryl Tsishchanka Areas and Lengths in Polar Coordinates In this section we develop the formula for the area of a region whose boundary is given by a polar equation. We need to use the formula for the

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

4. Εισαγωγή στη Java

4. Εισαγωγή στη Java ΠΠΜ 401 - Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής 4. Εισαγωγή στη Java Χειμερινό εξάμηνο 2014 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Εισαγωγή στη γλώσσα προγραμματισμού

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) Βρείτε τα λάθη Στο πρόγραμμα στην επόμενη διαφάνεια υπάρχουν διάφορα λάθη Ποια είναι? public abstract

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

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

Μέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων

Μέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων Μέθοδοι Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων Μέθοδοι Οιµέθοδοικαθορίζουντηνσυµπεριφοράενόςαντικειµένου. Τα βασικά µέρη από τα οποία αποτελείται µία µέθοδος είναι τα εξής: Το όνοµα της µεθόδου

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

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά. Διαστημικό εστιατόριο του (Μ)ΑστροΈκτορα Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά. Μόλις μια παρέα πελατών κάτσει σε ένα

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

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

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

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

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

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

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

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi ee.duth.

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth. Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει

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

Υποστηρικτικό υλικό Σημειώσεις

Υποστηρικτικό υλικό Σημειώσεις ΔΙΑΔΙΚΤΥA : Υπηρεσίες, Τεχνολογία, Εφαρμογές Τμήμα Πληροφορικής Α.Π.Θ. Υποστηρικτικό υλικό Σημειώσεις Διδάσκοντες : Α. Βακάλη Γ. Παπαδημητρίου Εαρινό εξάμηνο 2000 2001 ΜΕΡΟΣ ΙΙ J A V A ΔΙΑΔΙΚΤΥA : Υπηρεσίες,

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

Γραφικά µε Υπολογιστές. Μετασχηµατισµοί Σύνθετη Γεωµετρία

Γραφικά µε Υπολογιστές. Μετασχηµατισµοί Σύνθετη Γεωµετρία Γραφικά µε Υπολογιστές Μετασχηµατισµοί Σύνθετη Γεωµετρία Σύστηµα Συντεταγµένων Κάθε VRML κόσµος έχει το δικό του σύστηµα συντεταγµένων, το οποίο είναι ένα τρισδιάστατο καρτεσιανό σύστηµα, µε τηθετική πλευρά

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

Εισαγωγή στον Προγ/μό Η/Υ

Εισαγωγή στον Προγ/μό Η/Υ Εισαγωγή στον Προγ/μό Η/Υ Ενότητα 7 2ο μέρος: Επιπλέον έννοιες σχετικά με αντικείμενα Διδάσκων: Μιχάλης Τίτσιας Περιεχόμενα Τι μπορεί να περιέχει μια τάξη Μέθοδοι τάξης και σταθερές τάξης Πολυμορφισμός

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

FSM Toolkit Exercises

FSM Toolkit Exercises ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τηλεπικοινωνιών Αναπληρωτής Καθηγητής: Αλέξανδρος Ποταμιάνος Ονοματεπώνυμο: Α Μ : ΗΜΕΡΟΜΗΝΙΑ: ΤΗΛ 413 : Συστήματα Επικοινωνίας

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

JAVA TUTORIAL ΠΕΡΙΕΧΟΜΕΝΑ. ΚΕΦΑΛΑΙΟ 1. Τί κάνει τη Java να ξεχωρίζει; Εγκαθιστώντας τη Java

JAVA TUTORIAL ΠΕΡΙΕΧΟΜΕΝΑ. ΚΕΦΑΛΑΙΟ 1. Τί κάνει τη Java να ξεχωρίζει; Εγκαθιστώντας τη Java JAVA TUTORIAL Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Εργαστήριο Παράλληλης Κατανεμημένης Επεξεργασίας ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1. Τί κάνει τη Java να ξεχωρίζει; Εγκαθιστώντας τη Java ΚΕΦΑΛΑΙΟ

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

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

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

Homework 3 Solutions

Homework 3 Solutions Homework 3 Solutions Igor Yanovsky (Math 151A TA) Problem 1: Compute the absolute error and relative error in approximations of p by p. (Use calculator!) a) p π, p 22/7; b) p π, p 3.141. Solution: For

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

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή Εργαστήριο 10 Γράφηµα (Graph) Εισαγωγή Στην πληροφορική γράφηµα ονοµάζεται µια δοµή δεδοµένων, που αποτελείται από ένα σύνολο κορυφών ( vertices) (ή κόµβων ( nodes» και ένα σύνολο ακµών ( edges). Ενας

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

Math 6 SL Probability Distributions Practice Test Mark Scheme

Math 6 SL Probability Distributions Practice Test Mark Scheme Math 6 SL Probability Distributions Practice Test Mark Scheme. (a) Note: Award A for vertical line to right of mean, A for shading to right of their vertical line. AA N (b) evidence of recognizing symmetry

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

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com Βάσεις Δεδομένων Stored Procedures 1 Stored Routines (1/2) Τμήματα κώδικα τα

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

Προγραμματισμός Ι. Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Πίνακες Αντικειμένων Όπως στην C μπορούμε να έχουμε πίνακες από

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

ΕΠΛ 012. JavaScripts

ΕΠΛ 012. JavaScripts ΕΠΛ 012 JavaScripts Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές

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

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

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

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

Volume of a Cuboid. Volume = length x breadth x height. V = l x b x h. The formula for the volume of a cuboid is

Volume of a Cuboid. Volume = length x breadth x height. V = l x b x h. The formula for the volume of a cuboid is Volume of a Cuboid The formula for the volume of a cuboid is Volume = length x breadth x height V = l x b x h Example Work out the volume of this cuboid 10 cm 15 cm V = l x b x h V = 15 x 6 x 10 V = 900cm³

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και αντικείμενα στην Java Strings Πίνακες ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και αντικείμενα στην Java Strings Πίνακες ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με κοινά χαρακτηριστικά

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

Σπουδές CAD, Πληροφορικής, Οικονομίας, Διοίκησης και D.T.P. με Σύστημα διδασκαλίας facetoface

Σπουδές CAD, Πληροφορικής, Οικονομίας, Διοίκησης και D.T.P. με Σύστημα διδασκαλίας facetoface Copyright 2009-2012 -SYSTEM- All rights reserved 2/159 ΠΕΡΙΕΧΟΜΕΝΑ Μάθημα 1: New - Save Μάθημα 2: Εισαγωγή στη CSS Μάθημα 3: Τρόπος Σύνταξης Μάθημα 4: Σχόλια Μάθημα 5: ID Μάθημα 6: Class Μάθημα 7: Background

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

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

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

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

Μάθημα: Ψηφιακή Επεξεργασία Ήχου

Μάθημα: Ψηφιακή Επεξεργασία Ήχου Τμήμα Τεχνών Ήχου και Εικόνας Ιόνιο Πανεπιστήμιο Μάθημα: Ψηφιακή Επεξεργασία Ήχου Εργαστηριακή Άσκηση 5 «Διαδραστικός έλεγχος στερεοφωνικής εικόνας ήχου» Διδάσκων: Φλώρος Ανδρέας Δρ. Ηλ/γος Μηχ/κός & Τεχνολογίας

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

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade Για να ελέγξετε το λογισμικό που έχει τώρα η συσκευή κάντε κλικ Menu > Options > Device > About Device Versions. Στο πιο κάτω παράδειγμα η συσκευή έχει έκδοση λογισμικού 6.0.0.546 με πλατφόρμα 6.6.0.207.

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩN ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ: ΙΟΥΝΙΟΣ 2015 (10/7/2015) ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α 1. (3.5 μονάδες)

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

Πρακτική εφαρμογή στην ειδικότητα: Λογισμικό για τη δημιουργία εργασίας εξαμήνου

Πρακτική εφαρμογή στην ειδικότητα: Λογισμικό για τη δημιουργία εργασίας εξαμήνου Το SketchUp αρχικά ήταν ένα πρόγραμμα της εταιρείας @Last Software σχεδιασμένο για αρχιτέκτονες, πολιτικούς μηχανικούς, σκηνοθέτες, παραγωγούς video-games και ξεκίνησε να γίνεται γνωστό ως ένα γενικής

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος. sfetsos@it.teithe.gr

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος. sfetsos@it.teithe.gr ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Π ί ν α κ ε ς - A r r a y s Είναι χώροι της μνήμης για προσωρινή αποθήκευση δεδομένων

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

AVL-trees C++ implementation

AVL-trees C++ implementation Τ Μ Η Μ Α Μ Η Χ Α Ν Ι Κ Ω Ν Η / Υ Κ Α Ι Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ AVL-trees C++ implementation Δομές Δεδομένων Μάριος Κενδέα 31 Μαρτίου 2015 kendea@ceid.upatras.gr Εισαγωγή (1/3) Δυαδικά Δένδρα Αναζήτησης:

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

HY-252 Αντικειμενοστραφής Προγραμματισμός. Χειμερινό Εξάμηνο 2012 Διδάσκων: Χριστοφίδης Βασίλης. Ημερομηνία Παράδοσης: 16/11/2012

HY-252 Αντικειμενοστραφής Προγραμματισμός. Χειμερινό Εξάμηνο 2012 Διδάσκων: Χριστοφίδης Βασίλης. Ημερομηνία Παράδοσης: 16/11/2012 HY-252 Αντικειμενοστραφής Προγραμματισμός Χειμερινό Εξάμηνο 2012 Διδάσκων: Χριστοφίδης Βασίλης 2 η Σειρά Ασκήσεων Ημερομηνία Παράδοσης: 16/11/2012 Παρακάτω σας δίνονται οι ορισμοί τεσσάρων διαφορετικών

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

Τεχνολογίες Διαδικτύου (Εξασκηθείτε στην HTML)

Τεχνολογίες Διαδικτύου (Εξασκηθείτε στην HTML) Τεχνολογίες Διαδικτύου (Εξασκηθείτε στην HTML) 1. Δημιουργία μιας απλής σελίδας HTML Ανοίξτε το Notepad ακολουθώντας τη διαδρομή Start All Programs Accessories Notepad Πληκτρολογήστε το ακόλουθο κείμενο:

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΗ JAVA ΤΕΛΕΣΤΕΣ - ΜΕΤΑΒΛΗΤΕΣ

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΗ JAVA ΤΕΛΕΣΤΕΣ - ΜΕΤΑΒΛΗΤΕΣ ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΗ JAVA ΤΕΛΕΣΤΕΣ - ΜΕΤΑΒΛΗΤΕΣ Ας δούμε το απλό πρόγραμμα

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

Διάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 5: Κλάσεις και Αντικείμενα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Κλάσεις και Αντικείμενα - Κατασκευή, Πρόσβαση Αντικειμένων - Διαχείριση Μνήμης, Garbage

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ηµιουργία και χειρισµός LIFO λιστών µεταβλητού µήκους µε στοιχεία ακεραίους αριθµούς. Γενίκευση για χειρισµό λιστών πραγµατικών

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 1/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 1/11/07 Κάποια πράγματα ξανά για τις μεταβλητές: - Δήλωση μεταβλητής: [=τιμή]; (προς το παρόν παραλείπουμε την ορατότητα)

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

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας

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

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

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

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

Γραφιστική Πληροφορίας σε 3D

Γραφιστική Πληροφορίας σε 3D Γραφιστική Πληροφορίας σε 3D Κωνσταντίνος Σεβεντεκίδης Καθηγητής Πληροφορικής ΠΕ-19, Msc Email: kseventekidis@sch.gr Τμήμα Πληροφορικής και ΜΜΕ ΤΕΙ ΠΥΡΓΟΥ (παράρτημα ΤΕΙ ΠΑΤΡΑΣ) Γραφιστική Πληροφορίας

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

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΦΑΡΜΟΓΩΝ

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΦΑΡΜΟΓΩΝ ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΕΦΑΡΜΟΓΩΝ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας & Επικοινωνίας 8 Μαρτίου 2001 Hypertext Markup Language (HTML)! Σε μια ιστοσελίδα μπορούν να εμφανίζονται διαφορετικά

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

Διάλεξη 10: Αντικειμενοστρεφής Σχεδιασμός ΙI. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 10: Αντικειμενοστρεφής Σχεδιασμός ΙI. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 10: Αντικειμενοστρεφής Σχεδιασμός ΙI Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παράδειγμα Διαδικασίας Ανάπτυξης Λογισμικού: Βιβλίο Διευθύνσεων - Φάση 2: Σχεδίαση(Κάρτες CRC, διαγράμματα

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

Automating Complex Workflows using Processing Modeler

Automating Complex Workflows using Processing Modeler Automating Complex Workflows using Processing Modeler QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Christina Dimitriadou Paliogiannis Konstantinos Tom Karagkounis

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

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

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

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

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

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

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

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

Αρχές Τεχνολογίας Λογισμικού Αρχές Τεχνολογίας Λογισμικού Επισκόπηση του μαθήματος 2 Διδάσκοντες ΘΕΩΡΙΑ Νίκος Παπαδάκης ΕΡΓΑΣΤΗΡΙΟ Αϊβαλής Κώστας costis@teicrete.gr Κονδυλάκης Χάρης kondylak@gmail.com 3 Το μάθημα στο πρόγραμμα σπουδών

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

Βαζηθό κάζεκα γηα ην ArcGIS

Βαζηθό κάζεκα γηα ην ArcGIS Βαζηθό κάζεκα γηα ην ArcGIS Content 1 ArcMap, γλσξηκία κε ηελ επηθάλεηα εξγαζίαο... 2 1.1 Η δηεπηθάλεηα ηνπ ArcMap... 2 1.2 Η γξακκή εξγαιείσλ... 3 2 Κάληε έλα ζρέδην εξγαζίαο: Έλα ράξηε γελλήζεσλ....

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

Σεμινάριο: Εισαγωγή στο Photoshop

Σεμινάριο: Εισαγωγή στο Photoshop Σεμινάριο: Εισαγωγή στο Photoshop Περιεχόμενα ΕΝΟΤΗΤΑ 1η Γνωριμία με το Photoshop 1.1 Εισαγωγή 1.2 Ορολογία 1.3 Μερικά λόγια για το Photoshop 1.4 Σύντομη Ιστορία 1.5 File format 1.6 Γνωριμία με την επιφάνεια

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

ΓΗΠΛΧΜΑΣΗΚΖ ΔΡΓΑΗΑ ΑΡΥΗΣΔΚΣΟΝΗΚΖ ΣΧΝ ΓΔΦΤΡΧΝ ΑΠΟ ΑΠΟΦΖ ΜΟΡΦΟΛΟΓΗΑ ΚΑΗ ΑΗΘΖΣΗΚΖ

ΓΗΠΛΧΜΑΣΗΚΖ ΔΡΓΑΗΑ ΑΡΥΗΣΔΚΣΟΝΗΚΖ ΣΧΝ ΓΔΦΤΡΧΝ ΑΠΟ ΑΠΟΦΖ ΜΟΡΦΟΛΟΓΗΑ ΚΑΗ ΑΗΘΖΣΗΚΖ ΔΘΝΗΚΟ ΜΔΣΟΒΗΟ ΠΟΛΤΣΔΥΝΔΗΟ ΥΟΛΖ ΠΟΛΗΣΗΚΧΝ ΜΖΥΑΝΗΚΧΝ ΣΟΜΔΑ ΓΟΜΟΣΑΣΗΚΖ ΓΗΠΛΧΜΑΣΗΚΖ ΔΡΓΑΗΑ ΑΡΥΗΣΔΚΣΟΝΗΚΖ ΣΧΝ ΓΔΦΤΡΧΝ ΑΠΟ ΑΠΟΦΖ ΜΟΡΦΟΛΟΓΗΑ ΚΑΗ ΑΗΘΖΣΗΚΖ ΔΤΘΤΜΗΑ ΝΗΚ. ΚΟΤΚΗΟΤ 01104766 ΔΠΗΒΛΔΠΧΝ:ΑΝ.ΚΑΘΖΓΖΣΖ ΗΧΑΝΝΖ

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

SOAP API. https://bulksmsn.gr. Table of Contents

SOAP API. https://bulksmsn.gr. Table of Contents SOAP API https://bulksmsn.gr Table of Contents Send SMS...2 Query SMS...3 Multiple Query SMS...4 Credits...5 Save Contact...5 Delete Contact...7 Delete Message...8 Email: sales@bulksmsn.gr, Τηλ: 211 850

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

Φροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων

Φροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2006 ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Φροντιστήριο 5 Ημερομηνία: 01/12/2006 Θεματική

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

Exercises 10. Find a fundamental matrix of the given system of equations. Also find the fundamental matrix Φ(t) satisfying Φ(0) = I. 1.

Exercises 10. Find a fundamental matrix of the given system of equations. Also find the fundamental matrix Φ(t) satisfying Φ(0) = I. 1. Exercises 0 More exercises are available in Elementary Differential Equations. If you have a problem to solve any of them, feel free to come to office hour. Problem Find a fundamental matrix of the given

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

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Στοίβες Ουρές Στοίβες: Βασικές Έννοιες. Ουρές: Βασικές Έννοιες. Βασικές Λειτουργίες. Παραδείγματα. Στοίβες Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή πρώτη

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

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

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

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

ΚΑΡΠΟΥΖΙ / WATERMELON a b

ΚΑΡΠΟΥΖΙ / WATERMELON a b ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ REPUBLIC OF GREECE ΥΠΟΥΡΓΕΙΟ AΓΡΟΤΙΚΗΣ ΑΝΑΠΤΥΞΗΣ ΠΕΡΙΓΡΑΦΙΚΟ ΔΕΛΤΙΟ MINISTRY OF RURAL DEVELOPMENT ΚΑΙ ΤΡΟΦΙΜΩΝ DESCRIPTION FORM AND FOOD ΙΝΣΤΙΤΟΥΤΟ ΕΛΕΓΧΟΥ ΠΟΙΚΙΛΙΩΝ VARIETY RESEARCH

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006 ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι το 1 εκτός αν ορίζεται διαφορετικά στη διατύπωση

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

a-shapes στη βιολογία

a-shapes στη βιολογία a-shapes στη βιολογία Λογισμικό CGAL για a- shapes Νικόλας Μπεγέτης Πώς παίρνουμε το περίβλημα σημείων στο χώρο; Βρίσκοντας το Convex Hull π. χ: Θα μπορούσαμε να βρούμε μία καλύτερη προσέγγιση; Ναι, με

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