ΠΠΜ 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.awt Font Γραµµατοσειρές Color Χρώµατα

java.awt Font Γραµµατοσειρές Color Χρώµατα Οι κλάσεις Font και Color Η κλάση Font Η κλάση Color Χρήση Γραφικών Σχεδίαση Γραµµών Σχεδίαση Ορθογωνίων Σχεδίαση Ελλείψεων και Κύκλων Σχεδίαση Τόξων Σχεδίαση Πολυγώνων Σχεδίαση Γραµµών µε ιαφορετικά Πλάτη

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

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

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

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

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

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

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

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

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

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

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

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

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

5. Τα βασικά των Applets στην Java

5. Τα βασικά των Applets στην Java Εισαγωγή στη γλώσσα προγραμματισμού Java 33 5. Τα βασικά των Applets στην Java Στην Java τα Applets εκτελούνται μέσα από κάποιον Java WWW Browser. Η αναφορά σε ένα Applet γίνεται σε μια WEB σελίδα μέσω

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

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

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

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

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

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

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

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

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

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

Wrapper Classes, Abstract Classes and Interfaces

Wrapper Classes, Abstract Classes and Interfaces Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους

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

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

Αντικειμενοστραφής Προγραμματισμός Εξάμηνο Μάθημα Τίτλος 2013 2014 Εαρινό Αντικειμενοστραφής Προγραμματισμός Applets Α. Ύλη εργαστηρίου 6.1 Applets 6.2 Μέθοδοι start, init, paint, stop και destroy 6.3 Γραφικά 6.4 Χρώματα 6.5 Σχήματα Προετοιμασία

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

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

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

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

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

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

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

Εργαλεία Ανάπτυξης Εφαρμογών Internet. Δ.Ι.Ε.Κ. Γλυφάδας Τεχνικός Εφαρμογών Πληροφορικής

Εργαλεία Ανάπτυξης Εφαρμογών Internet. Δ.Ι.Ε.Κ. Γλυφάδας Τεχνικός Εφαρμογών Πληροφορικής Εργαλεία Ανάπτυξης Εφαρμογών Internet Δ.Ι.Ε.Κ. Γλυφάδας Τεχνικός Εφαρμογών Πληροφορικής Το πρότυπο CSS Α Μέρος 2 CSS (Cascading Style Sheets)(1) Ορίζουν την εμφάνιση των στοιχείων σε ένα έγγραφο HTML.

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial Introduction Το Javadoc είναι ένα εργαλείο που παράγει αρχεία html (παρόμοιο με τις σελίδες στη διεύθυνση http://docs.oracle.com/javase/8/docs/api/index.html) από τα σχόλια

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

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό 5 ο Εργαστήριο Λογικοί Τελεστές, Δομές Ελέγχου Λογικοί Τελεστές > μεγαλύτερο = μεγαλύτερο ή ίσο!= διαφορετικό Οι λογικοί τελεστές χρησιμοποιούνται για να ελέγξουμε

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

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

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

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

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

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

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

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

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

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

Δομές Δεδομένων - Εργαστήριο 2. Λίστες

Δομές Δεδομένων - Εργαστήριο 2. Λίστες Λίστες Λίστες (Lists) : Συλλογή δεδομένων σε δυναμικά δεσμευμένους κόμβους. Κάθε κόμβος περιέχει συνδέσεις προς άλλους κόμβους. Προσπέλαση -στού κόμβου διατρέχοντας όλους τους προηγούμενους. Πολλές παραλλαγές

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

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους

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

Διάλεξη 2η Εισαγωγή στο CSS

Διάλεξη 2η Εισαγωγή στο CSS Διάλεξη 2η Εισαγωγή στο CSS Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης Αντώνης Χρυσόπουλος I S S E L D e c o d e (Intelligent Systems & Software Engineering Lab) Στόχος της ώρας Τι είναι το CSS? Γιατί να χρησιμοποιήσω

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

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

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

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

Cascading Style Sheets (CSS)

Cascading Style Sheets (CSS) Cascading Style Sheets (CSS) Τα Cascading Style Sheets προσφέρουν έναν εύκολο τρόπο για να ορίσουμε τη μορφοποίηση που επιθυμούμε να έχουν οι σελίδες μία τοποθεσίας του Παγκόσμιου Ιστού που δημιουργούμε.

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

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

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

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

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

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

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

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE) EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 5: Component Adaptation Environment (COPE) Performing Static Analysis 1 Class Name: The fully qualified name of the specific class Type: The type of the class

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

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

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

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΜΙΚΡΟΕΦΑΡΜΟΓΕΣ (APPLETS)

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΜΙΚΡΟΕΦΑΡΜΟΓΕΣ (APPLETS) Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΜΙΚΡΟΕΦΑΡΜΟΓΕΣ (APPLETS) ΕΙΣΑΓΩΓΗ ΣΤΑ APPLETS Ένα applet είναι ένα πρόγραμμα Java που τρέχει σε ένα πρόγραμμα περιήγησης στο Web (web browser). Ένα applet

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

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

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

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

Week 10: Graphical User Interfaces

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ & ΑΕΡΟΝΑΥΠΗΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΤΟΜΕΑΣ ΕΚΠΑΙΔΕΥΤΙΚΟ ΠΑΡΑΔΕΙΓΜΑ 2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ & ΑΕΡΟΝΑΥΠΗΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΤΟΜΕΑΣ ΕΚΠΑΙΔΕΥΤΙΚΟ ΠΑΡΑΔΕΙΓΜΑ 2 ΒΗΜΑ 1. Άνοιγμα προτύπου (template) οριζόντιου Α3 (που δίδεται με την εκφώνηση της άσκησης), εισαγωγή των στοιχείων μας στο υπάρχον υπόμνημα και αποθήκευση του προτύπου με τα προσωπικά μας δεδομένα (αυτό

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

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

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

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

Μορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/

Μορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/ Μορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/ Συνάρτηση round() Περιγραφή Η συνάρτηση ROUND στρογγυλοποιεί έναν αριθμό στον δεδομένο

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

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

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

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

Κεφάλαιο 3 Βασική Σχεδίαση και Επεξεργασία

Κεφάλαιο 3 Βασική Σχεδίαση και Επεξεργασία Περιεχόμενα Πρόλογος... 7 Εισαγωγή... 9 Κεφάλαιο 1: Στοιχεία Λειτουργίας του Υπολογιστή και του προγράμματος AutoCAD... 11 Κεφάλαιο 2: Στοιχεία Λειτουργικού Συστήματος... 15 Κεφάλαιο 3: Βασική Σχεδίαση

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

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ & ΠΟΛΥΜΟΡΦΙΣΜΟΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ & ΠΟΛΥΜΟΡΦΙΣΜΟΣ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (1/3) Στην αρχή της κληρονομικότητας βασίζεται ο σχεδιασμός και η υλοποίηση συστημάτων Η κληρονομικότητα χρησιμοποιείται

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

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)

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

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

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

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

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

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

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

Γαβαλάς Δαμιανός 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 ώρες Καλή

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

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

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

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

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

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

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

Δομές Δεδομένων & Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι Ουρές Ουρές Περίληψη Η ΟυράΑΔΤ Υλοποίηση με κυκλικό πίνακα Αυξανόμενη Ουρά βασισμένη σε πίνακα Interface ουράς στην C++ Η Ουρά ADT Η ΑΔΤ Ουρά αποθηκεύει αυθαίρετα αντικείμενα Οι εισαγωγές και διαγραφές

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

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

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

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

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

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Υλοποίηση Δυαδικού Σωρού σε γλώσσα Java. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Υλοποίηση Δυαδικού Σωρού σε γλώσσα Java. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Υλοποίηση Δυαδικού Σωρού σε γλώσσα Java Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Σωρός Μεγίστου ως ΑΤΔ Ένας σωρός μεγίστου (max heap) είναι ένας ΑΤΔ που

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

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

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

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

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

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

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

Η Βίβλος των CSS - Μέρος 3 Το Box Model, τα Περιθώρια και τα Περιγράμματα

Η Βίβλος των CSS - Μέρος 3 Το Box Model, τα Περιθώρια και τα Περιγράμματα Η Βίβλος των CSS - Μέρος 3 Το Box Model, τα Περιθώρια και τα Περιγράμματα Το Box Model Το box model στα CSS περιγράφει τα πλαίσια (boxes) που δημιουργούνται για τα στοιχεία (elements) της HTML. Το box

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

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

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

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

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

02 Αντικειμενοστρεφής Προγραμματισμός 02 Αντικειμενοστρεφής Προγραμματισμός Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αντικειμενοστρέφεια Στον προγραμματισμό object

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο JDBC JDBC is a set of classes and interfaces written in Java that allows Java programs to send SQL statements to a database like Oracle JDBC

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγικά μαθήματα Autocad. Κατασκευή Σήραγγας. Κατασκευή Υπόγειου Χώρου

Εισαγωγικά μαθήματα Autocad. Κατασκευή Σήραγγας. Κατασκευή Υπόγειου Χώρου Εισαγωγικά μαθήματα Autocad Κατασκευή Σήραγγας Κατασκευή Υπόγειου Χώρου Α. Μπενάρδος Λέκτορας ΕΜΠ Κατασκευή σήραγγας Δημιουργία της βασικής χάραξης (centerline) [polyline] Βελτίωση των χαρακτηριστικών

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

Οπτικοποίηση με Prefuse. Δομή / Βασικά Χαρακτηριστικά / Παράδειγμα

Οπτικοποίηση με Prefuse. Δομή / Βασικά Χαρακτηριστικά / Παράδειγμα Οπτικοποίηση με Prefuse Δομή / Βασικά Χαρακτηριστικά / Παράδειγμα 4 Βασικά Βήματα 1) Εισαγωγή των δεδομένων σε εσωτερικές δομές Prefuse 2) Καθορισμός του visual Abstraction 3) Δημιουργία View 4) Προσθήκη

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

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

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

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

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

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

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

CSS 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

CSS 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών CSS 1 Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΕΛΕΝΑ ΦΛΟΚΑ Επίκουρος Καθηγήτρια Τµήµα Φυσικής, Τοµέας Φυσικής Περιβάλλοντος- Μετεωρολογίας ΓΕΝΙΚΟΙ ΟΡΙΣΜΟΙ Πληθυσµός Σύνολο ατόµων ή αντικειµένων στα οποία αναφέρονται

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

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

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

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

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

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

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

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

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

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

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

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

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

8 ο Εργαστήριο Ευθυγράμμιση σε πλέγμα

8 ο Εργαστήριο Ευθυγράμμιση σε πλέγμα 8 ο Εργαστήριο Ευθυγράμμιση σε πλέγμα Στο παρακάτω παράδειγμα το ο καμβάς χωρίζεται σε τετράγωνα. Σε κάθε τετράγωνο σχεδιάζεται μια διαγώνιος είτε από την πάνω-αριστερή στην κάτω-δεξιά γωνία είτε από την

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.

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

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

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

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

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1 Κλάσεις στη Java Παύλος Εφραιμίδης Java Κλάσεις στη Java 1 Κλάσεις στην Java Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 2

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

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack Κλάσεις στην Java Κλάσεις στη Java Παύλος Εφραιμίδης Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 1 Java Κλάσεις στη Java 2

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

Γλώσσα περιγραφής οδηγιών εµφάνισης-στοιχειοθέτησης

Γλώσσα περιγραφής οδηγιών εµφάνισης-στοιχειοθέτησης CASCADING STYLE-SHEETS CASCADING STYLE-SHEETS Γλώσσα περιγραφής οδηγιών εµφάνισης-στοιχειοθέτησης εφαρµογών HTML. Τα CSS ορίζονται σε δύο συστάσεις του W3C: CSS1, εκ. 1996 περιλαµβάνει περίπου 50 ιδιότητες

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

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι 1 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της

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

Προαπαιτούμενες Ασκήσεις 5 ου Εργαστηρίου. Dose stoixeio (integer) : 25 Found stoixeio in position 7 Dose stoixeio (integer) :94 Value not found

Προαπαιτούμενες Ασκήσεις 5 ου Εργαστηρίου. Dose stoixeio (integer) : 25 Found stoixeio in position 7 Dose stoixeio (integer) :94 Value not found Α. Πρώτη προαπαιτούµενη Κάθε οµάδα θα πρέπει να δηµιουργήσει τον ζητούµενο παρακάτω πίνακα και α. να εµφανίσει τα στοιχεία του, β. να τυπώσει τον µέσο όρο των στοιχείων του, γ. να ταξινοµήσει τα στοιχεία

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

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

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

(C) 2010 Pearson Education, Inc. All rights reserved.

(C) 2010 Pearson Education, Inc. All rights reserved. Connectionless transmission with datagrams. Connection-oriented transmission is like the telephone system You dial and are given a connection to the telephone of fthe person with whom you wish to communicate.

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

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

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

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

ΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ

ΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ Μηχανισµός υλοποίησης των σχέσεων γενίκευσης/εξειδίκευσης µεταξύ κλάσεων Η σχέση εξειδίκευσης «υποκλάση-της» (subclass-of)είναι γνωστή σαν σχέση «είναι ένα» (isa) ή «είναι ένα είδος» (ako:

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

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS CHAPTER 5 SOLVING EQUATIONS BY ITERATIVE METHODS EXERCISE 104 Page 8 1. Find the positive root of the equation x + 3x 5 = 0, correct to 3 significant figures, using the method of bisection. Let f(x) =

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

0 SOLID_LINE 1 DOTTED_LINE 2 CENTER_LINE 3 DASHED_LINE 4 USERBIT_LINE

0 SOLID_LINE 1 DOTTED_LINE 2 CENTER_LINE 3 DASHED_LINE 4 USERBIT_LINE 1. Η κωδικοποίηση των χρωµάτων για σύστηµα γραφικών µε 16 χρώµατα Κωδικός Χρώµα Χρώµατος 0 BLACK 1 BLUE 2 GREEN 3 CYAN 4 RED 5 MAGENTA 6 BROWN 7 LIGHTGRAY 8 DARKGRAY 9 LIGHTBLUE 10 LIGHTGREEN 11 LIGHTCYAN

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

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

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

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

CTEC-153: ΥΤΛΛΑ ΕΡΓΑΙΑ

CTEC-153: ΥΤΛΛΑ ΕΡΓΑΙΑ ΜΑΘΗΜΑ 6 ΣΟΦΟΙ: 1. Δημιουργία Διαφορετικών Σύπων Γραφημάτων Από Σα Δεδομένα Ενός Τπολογιστικού Υύλλου: Γράφημα τήλης, Γραμμής, Πίτας, Ράβδων 2. Βασικά Μέρη Ενός Γραφήματος 3. Αλλαγή Μεγέθους Ενός Γραφήματος

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

Create Sprite at Runtime

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ342: Βάσεις Δεδομένων. Χειμερινό Εξάμηνο Φροντιστήριο 10 ΛΥΣΕΙΣ. Επερωτήσεις SQL

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ342: Βάσεις Δεδομένων. Χειμερινό Εξάμηνο Φροντιστήριο 10 ΛΥΣΕΙΣ. Επερωτήσεις SQL ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ342: Βάσεις Δεδομένων Χειμερινό Εξάμηνο 2013 Φροντιστήριο 10 ΛΥΣΕΙΣ Επερωτήσεις SQL Άσκηση 1 Για το ακόλουθο σχήμα Suppliers(sid, sname, address) Parts(pid, pname,

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

Σχεδιασμός και Ανάπτυξη Ιστότοπων

Σχεδιασμός και Ανάπτυξη Ιστότοπων Σχεδιασμός και Ανάπτυξη Ιστότοπων CSS: Φόντο (background) και Περίγραμμα (border) στοιχείου ιστοσελίδας Παρουσίαση 16 η 1 Βελώνης Γεώργιος Καθηγητής Browsers δοκιμών Οι δοκιμές έγιναν στους παρακάτω browsers

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

Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι

Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Generic Types Τα Generics έχουν προστεθεί στη JAVA από το 2004 ως μέρος του J2SE 5.0 Με τη χρήση

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

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

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

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

Η Βίβλος των CSS. Εισαγωγή στα CSS

Η Βίβλος των CSS. Εισαγωγή στα CSS Η Βίβλος των CSS Εισαγωγή στα CSS Τα Διαδοχικά Φύλλα Στυλ (CSS, Cascading Style Sheets) αποτελούν ένα πολύ καλό εργαλείο για να μπορούμε να αλλάζουμε την εμφάνιση και τη διάταξη (layout) των ιστοσελίδων

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

8.1 Top-Level Swing Containers και Swing Components

8.1 Top-Level Swing Containers και Swing Components Εισαγωγή στη γλώσσα προγραμματισμού Java 59 8. Γραφικές διεπαφές τύπου Swing (Swing GUIs) Τα πακέτα που αρχίζουν με το πρόθεμα javax.swing παρέχουν ευέλικτα και ισχυρά εργαλεία ανάπτυξης GUI. Ιδιαίτερα

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

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 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012

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

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

Δομές Δεδομένων & Ανάλυση Αλγορίθμων. 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 ΘΕΣΣΑΛΟΝΙΚΗΣ

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