Çizgilerin kalınlığını Dolguları Temel dönüşüm işlemlerini Bileşik nesne oluşturma işlemlerini kontrol etmemizi sağlar.

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Çizgilerin kalınlığını Dolguları Temel dönüşüm işlemlerini Bileşik nesne oluşturma işlemlerini kontrol etmemizi sağlar."

Transkript

1 JAVA2D

2 Java2D API Geniş çaplı 2D geometrik şekillerin çizdirilmesini Birleşik (Composite) nesneleri oluşturmasını Renk yönetimini kolaylaştıracak genişletilmiş renk desteği Kompleks dokümanlar için çıktı özelliklerini sağlar.

3 Java2D API Java2D API Çizgilerin kalınlığını Dolguları Temel dönüşüm işlemlerini Bileşik nesne oluşturma işlemlerini kontrol etmemizi sağlar. Java2D API resimleri yükleme ve üzerlerinde işlem yapılmasına olanak tanır. AWT ile entegredir.

4 Koordinat Uzayları Her bir Java 2D nesnesi user space de bulunur ve bu bir koordinat sistemiyle ifade edilir. Çizdirilecek nesneler çizilecek cihazın uzayına taşınır ( Device Space ) Genelde device space de bir unit bir pixel değerine eş değerdir. Fiziksel ekran görüntüsü genelde fiziksel çıktı görünümüyle eş değerdir.

5 Rasterizer Bir rasterizer çizim pipeline ında; programdaki nesneleri alır ve her bir pixel için gerekli değeri üretir. Gerekli değerden kasıt şekil için her bir pixelin ne kadar etkilendiğidir. Bu değerler alpha değerleri olarak adlandırılır. Alpha değerleri aynı zamanda rengin geçirgenliğini de verecektir. Alpha değeri 0.0 dan 1.0 a kadar olup 0.0 tam geçirgenliği 1.0 ise aksini ifade eder. Bileşik nesneler oluşturulmasında hem alpha değeri hem de renk bilgisi önemli rol oynar.

6 Java da Painting AWT de boyama işlemleri paint(graphics g) metodu içinde gerçekleştirilir. Bu metod java.awt.canvas sınıfının bir metodudur. Swing de ise bu işlemler java.swing.jcomponent sınıfının bir metodu olan paintcomponent(graphics g) metodu içinde gerçekleştirilir. Graphics2D nesneleri için gerekli tüm işlemler paintcomponent(graphics g) metodu içinde gerçekleştirilmelidir.

7 Şekillerin Çizimi AWT de şekiller drawxxx veya fillxxx gibi komutlar çalıştırılarak gerçekleştirilirken Java2D de öncelikle nesnenin kendisi oluşturulur daha sonra Graphics2D nesnesinin draw veya fill komutlarına bu nesne parametre olarak geçirilerek kullanılır. AWT public void paint(graphics g) { g.setcolor( ); // Draw a shape g.drawoval(...); } Java2D public void paintcomponent(graphics g) { super.paintcomponent(g); Graphics2D g2d = (Graphics2D)g; Ellipse2D.Double circle = new Ellipse2D.double( ); g2d.fill(circle);... }

8 Örnek-1 public void paintcomponent(graphics g) { super.paintcomponent(g); Graphics2D g2d = (Graphics2D)g; Ellipse2D.Double circle = new Ellipse2D.Double(15, 15, 90, 90); Rectangle2D.Double square = new Rectangle2D.Double(10, 10, 100, 100); } g2d.fill(circle); g2d.draw(square);

9 Java2D de Renkler Renkler java.awt paketi içinde bulunur. Bir çok constructor a sahiptir; Color(float/int r, float/int g, float/int b) Color(float/int r, float/int g, float/int b, float/int a) Color(int rgb) (Mavi ilk byte, Yeşil 2. ve Kırmızı 3.byte) JFC masaüstünüzle uygun olarak renkleri seçmenizi sağlar. Örneğin arkaplan rengi olarak genel pencere rengini seçmek istiyorsanız aşağıdaki yeterli olacaktır; setbackground(uimanager.getcolor( window )); Diğer bazı sistem rengi anahtar kelimeleri ; desktop, windowtext,menu,text,info, scrollbar,

10 Örnek-2 public void paintcomponent(graphics g) { super.paintcomponent(g); Graphics2D g2d = (Graphics2D)g; Ellipse2D.Double circle = new Ellipse2D.Double(15, 15, 90, 90); Rectangle2D.Double square = new Rectangle2D.Double(10, 10, 100, 100); Color c = new Color(11,22,72); setbackground(c); g2d.setcolor(color.red); System.out.println("Called Paint"); g2d.fill(circle); g2d.setcolor(uimanager.getcolor("info")); g2d.draw(square); }

11 java.awt.geom package içindeki sınıflar Point2D Arc2D Area CubicCurve2D Dimension2D Ellipse2D GeneralPath

12 Noktalar Bir nokta ile pixel farklı şeylerdir. Point2D abstract bir sınıf olup içsel sınıflar içerir. Point2D.Float, Point2D.Double gibi Bu sınıf ayrıca iki nokta arasındaki uzaklığı bulmak için fonksiyonlar sağlar; public double distance (double PX, double PY) public double distance (Point2D pt)

13 Şekiller Winding Kuralı Karmaşık bir şekil çizdiniz. Fakat içini nasıl doldurabiliriz? Winding kuralı fill() komutu çalıştırıldığında çizilen şeklin hangi parçasının içsel hangisinin dışsal olduğunu belirler. Çift-Tek kuralı Tüm şekil boyunca hat çizilir. Her yüzey çakışmasında counter bir arttırılır Eğer counter çift ise dışarıda tek ise içeridedir. Non-Zero Kuralı Tüm şekil boyunca hat çizilir. Eğer hat soldan sağa doğru uzanan bir hat ile çalışırsa counter arttırılır aksi halde azaltılır. 0 olmayan bölgeler içeride kabul edilir 1 0 Çift-Tek Non-zero

14 Şekiller GeneralPath Parça parça bir path oluşturmayı sağlar Default olarak non-zero winding kuralını kullanır. Bu sınıfın constructor ları public GeneralPath(int windingrule) public GeneralPath(int windingrule, int InitialCapacity) Metodları moveto(float x, float y) lineto(float x, float y) quadto(float controlx1, float controly1, float endx, float endy) cubicto(float controlx1, float controly1, float controlx2, float controly2, float endx, float endy) append(shape s, boolean connect) closepath()

15 Örnek 3 public class GeneralPaths2 extends JPanel { private GradientPaint gpaint = new GradientPaint(50, 50, Color.blue, 175, 175, Color.green, true); int x = 10; int y = 10; int rectwidth = 200; int rectheight = 200; int x1points[] = {x, x+rectwidth, x, x+rectwidth}; int y1points[] = {y, y+rectheight, y+rectheight, y}; GeneralPath polygon = new GeneralPath(GeneralPath.WIND_EVEN_ODD, x1points.length); public GeneralPaths2() { super(); setlayout(null); polygon.moveto(x1points[0], y1points[0]);.} for (int index = 1; index < x1points.length; index++) polygon.lineto(x1points[index], y1points[index]); polygon.closepath(); } public void paintcomponent(graphics g) { super.paintcomponent(g); Graphics2D g2d = (Graphics2D)g; g2d.setpaint(gpaint); g2d.fill(polygon); }

16 Çizgiler ve Eğriler Line2D Bir çizgi double,float veya Point2D parametre alabilir. QuadCurve2D Bir çizgi double,float veya Point2D parametre alabilir. Tek kontrol noktası vardır. CubicCurve2D Bir çizgi double,float veya Point2D parametre alabilir. İki kontrol noktası vardır.

17 Şekiller Rectangle2D, RoundRectangle2D, Ellipse2D, Arc2D Arc2D için 3 closure seçeneği vardır; CHORT, PIE ve OPEN public void paintcomponent(graphics g) { super.paintcomponent(g); Graphics2D g2d = (Graphics2D)g; g2d.setcolor(color.blue); RoundRectangle2D.Double rrect = new RoundRectangle2D.Double(30,30,100,100,30,30); Rectangle2D.Double rect = new Rectangle2D.Double(30,150,100,100); Ellipse2D.Double ellipse = new Ellipse2D.Double(150,30,80,100); Arc2D.Double arc = new Arc2D.Double(150,150,100,100,0,120,Arc2D.PIE); g2d.fill(rrect); g2d.fill(rect); g2d.fill(ellipse); g2d.fill(arc); }

18 Constractive Area Geometry Basit şekilleri özel tarzlarda birleştirerek kompleks şekiller oluşturmayı sağlar. Toplama, çıkarma, kesiştirme, XOR Öncelikle Area lar oluşturulur ve bunlar üstünde tüm işlemler gerçekleştirilir. Orjinal Sekiller Toplama Kesiştirme Çıkarma Xor

19 Örnek public void paintcomponent(graphics g) { super.paintcomponent(g); Graphics2D g2d = (Graphics2D)g; Ellipse2D.Double circle = new Ellipse2D.Double(15, 15, 90, 90); Rectangle2D.Double square = new Rectangle2D.Double(50, 50, 120, 120); Area first = new Area(circle); Area second = new Area(square); first.add(second); g2d.setpaint(color.yellow); g2d.fill(first); g2d.setpaint(color.black); g2d.draw(first); }

20 Hat Stilleri (Line Styles) Bir nesneyi çizerken kullanılır. Hat sitilleri stroke attribute ile belirlenir. BasicStroke 3 join stili destekler JOIN_BEVEL JOIN_MITER JOIN_ROUND End-cap özelliği hattın hangi tarzda biteceğini belirler.basicstroke 3 tip end-cap stili destekler. CAP_BUTT CAP_ROUND CAP_SQUARE

21 Hat Sitilleri (Line Styles) DASH STYLES Dash sitilleri at boyunca hattın belirginlik ve geçirgenliğini belirler. BasicStroke Nesnesi public BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase) public BasicStroke(float width, int cap, int join, float miterlimit) public BasicStroke(float width, int cap, int join) public BasicStroke(float width) public BasicStroke()

22 Örnek 4 public void paintcomponent(graphics g) { super.paintcomponent(g); Graphics2D g2d = (Graphics2D)g; float dash1[] = {10.0f, 5.0f, 10.0f}; BasicStroke dashed = new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 10.0f, dash1, 5.0f); Rectangle2D.Double square =new Rectangle2D.Double(10, 10, 300, 300); g2d.setstroke(dashed); g2d.draw(square); }

23 Java2D de Şekillerin İçini Doldurma Bir şeklin içi doldurulmak istendiğinde Paint attribute u kullanılır. Bir şekil Color (tek renk), GradientPaint (iki veya daha fazla rengin birleşmesiyle), TexturePaint (tiled image), veya Kendi belirlediğiniz bir boyama tekniği ile boyanabilir. setpaint(..) ve getpaint() fonksiyonları kullanılır. Bu metodlar setcolor ve getcolor metodlarının yerine geçer.

24 Boyamada Tiled Texture lar TexturePaint nesnesi kullanılarak gerçekleştirilir. Bu nesnenin constructor ı iki parametre alır; Hangi resmin çizileceği (BufferedImage) Ne kadar büyüklükle yerleştirilecekleri (Rectangle2D) Kullanımını daha önce de belirttiğimiz gibi setpaint metodu belirler. Bir BufferedImage iki temel yol ile elde edilir. ImageIO sınıfı kullanarak Bir GIF ile yapılandırarak

25 ImageIO sınıfını kullanmak Standart formatlardaki (GIF,PNG,JPEG gibi) bir resmi okumak gayet basittir; File f = new File("c:\images\myimage.gif"); BufferedImage bi = ImageIO.read(f); BufferedImage nesnesi elde edildikten sonra boyama işlemi aşağıdaki gibi olmalıdır; imagerect = new Rectangle2D(0.0, 0.0, bufferedimage.getwidth(), bufferedimage.getheight()); imagepaint1 = new TexturePaint(bi,imageRect); g2d.setpaint(imagepaint1);

26 Bir GIF ile yapılandırma- Metot 1 Resimleri yüklemek için bir MediaTracker nesnesine ihtiyaç duyulur. Media Tracker ses veya görüntü gibi media ların yükleme sıra durumlarını takip eder. Birinci metot olarak bir MediaTracker oluşturulur ve bu nesnenin addimage() metodu ile takip edilmesi istenen resimler eklenir.bununla birlikte her bir resim için bir unique id atanır. Bu id ile sıra belirlenmiş olur.

27 Bir GIF ile yapılandırma- Metot 1 MediaTracker kullanımı; Image image = File("c:\images\myimage.gif"); MediaTracker tracker = new MediaTracker(c); tracker.addimage(image, 0); try { tracker.waitforall(); } catch(interruptedexception ie) {} if (tracker.iserrorany() return null); BufferedImage bufferedimage = new BufferedImage(image.getWidth(this), image.getheight(this), BufferedImage.TYPE_INT_RGB); Graphics2D g2d = bufferedimage.creategraphics(); g2d.drawimage(image, 0, 0, this);

28 Bir GIF ile yapılandırma- Metot 2 MediaTracker ile yükleme gerçekleştiğinde bir thread oluşturulur ve yükleme işlemi tamamlandıktan sonra orijinal thread e (programa) geri dönülür. Swing iconimage sınıfı ise yüklemede başka bir alternatif sağlar. Image image = new ImageIcon( duke.gif ).getimage(); Fakat yine BufferedImage nesnesine ihtiyaç duyulur. Fakat bu yöntemle bir tek resim için bir çok kod karmaşasından kurtulmuş oluruz.

29 Metinler Metinler drawstring metodu ile render edilirler. drawstring(string str, int x, int y) drawstring(string str, double x, double y) x ve y string in başlangıç koordinatını belirler.

30 Stilli Metinler (Styled Text) Bunun için AttributedString ve ilgili AttributedCharacterIterator sınıfları kullanılır. Önce bir AttributedString stringi oluşturulur. AttributedString sstr = new AttributedString( Styled Text ) Daha sonra bu nesneye ilgili attribute lar eklenir. Üçüncü olarak AttributedCharacterIterator AttributedString nesnesinden alınır ve drawstring fonkisyonuna verilir.

31 Örnek public class StyledString extends JPanel { AttributedString astring; Font seriffont = new Font("Serif", Font.PLAIN, 24); public StyledString() { setbackground(uimanager.getcolor("window")); astring = new AttributedString("Use the red button, not the blue"); astring.addattribute(textattribute.font, seriffont); astring.addattribute(textattribute.foreground, Color.red, 8, 11); astring.addattribute(textattribute.foreground, Color.blue, 28, 32); } public void paintcomponent(graphics g){ super.paintcomponent(g); Graphics2D g2d = (Graphics2D)g; g2d.drawstring(astring.getiterator(), 10, 50); g2d.drawstring(astring.getiterator(), 10, 100); }

32 TextLayout drawstring sadece belli metinleri yazmaya yarar. Fakat TextLayout metinler üzerindeki işlemlerde bir çok kolaylık sağlar. Bunların bazıları; Text metrics Hit testing Highlighting support Paragraph Layout on Multiple lines Font Outline Bi-directional text TextLayout Text, Font ve FontRenderContent sınıflarını kullanır. Render etmek için public void draw(graphics 2D g2d, float x, float y)metodu kullanılır.

33 TextLayout Özellikleri Hit testing Belirtilen koordinattaki text in özelliklerinin alınmasına olanak tanır; örneğin karakter indexi gibi Highligthing Resmin üstünü çizecek diktörtgenin boyutlarını hesaplamayı sağlar.

34 TextLayout Özellikleri Font outlines Fontların sınır hatlarını render etmeyi sağlar String, Font, and FontRenderContext kullanılarak yeni bir TextLayout sınıfı oluşturulur.daha sonra fontun dış hatları elde edilir. TextLayout texttl = new TextLayout("JAVA", new Font("Helvetica", 1, 96), new FontRenderContext(null, false, false)); AffineTransform textat = new AffineTransform(); textat.translate(0,(float)texttl.getbounds().getheight()); textshape = texttl.getoutline(textat); g2d.draw(textshape); Daha sonra da şekil yazdırılır.

35 Nesnelerin Geçirgenliği Bir nesnenin geçirgenlik ölçüsü alpha değeri ile belirlenir. Java2D de bu işlemi yapmanın bir şekli AlphaComposite nesnesiyle gerçekleştirilir. private Rectangle bluesquare = new Rectangle(10, 10, 200, 200), redsquare = new Rectangle(50, 50, 200, 200); private AlphaComposite makecomposite(float alpha) { int type = AlphaComposite.SRC_OVER; return(alphacomposite.getinstance(type, alpha)); } public void paintcomponent(graphics g) { super.paintcomponent(g); Graphics2D g2d = (Graphics2D)g; Composite originalcomposite = g2d.getcomposite(); g2d.setpaint(color.blue); g2d.fill(bluesquare); g2d.setcomposite(makecomposite(0.2)); g2d.setpaint(color.red); g2d.fill(redsquare); }

36 Nesnelerin Geçirgenliği Diğer bir yöntem ise Color nesnesini alpha parametresi alan constructor ile oluşturmaktır. public void paintcomponent(graphics g) { super.paintcomponent(g); Graphics2D g2d = (Graphics2D)g; Color c1 = new Color(0,0,255,1.0); g2d.setpaint(c); g2d.fill(bluesquare); Color c1 = new Color(255,0,0,.2); g2d.setpaint(color.red); g2d.fill(redsquare); }

37 Nesnelerin Geçirgenliği Render ederken tercihimiz nedir? Hız? Kalite? Hızlı metod (aliasing) Sedece merkezi şeklin içine düşen pixeller renklendirilir. Yani pixel ya renklidir veya değildir. Kaliteli metod (anti-aliasing) Hangi pixelin resim ile çakıştığı hesaplanarak renklendirme yapılır. Her bir pixelin rengi sekli ne kadar içine aldığı ile orantılı olarak değişir. Anti-aliasing standart ekran fontu için kullanılmamalıdır. Bunun dışındaki tüm koşullarda yumuşak geçişleri sağlar.

38 Koordinat Dönüşümleri Affine Transformations : Dönüüşm sonucunda paralel hatlar yine paralel kalır. İki şekilde dönüşüm gerçekleştirilebilir Nesneyi dönüşümden geçirmek Koordinat sistemini dönüşümden geçirmek Java2D de koordinat sistemi dönüşümü genelde kullanılır. Bu durumda bir defa dönüşüm yapıldıktan sonra tüm yeni eklenecek şekiller bundan etkilenecektir.

39 Koordinat Sistemini Döndürme Java2D de gerçekleştirilen dönüşümler; Translate --- public void translate(double tx, double ty) Rotate --- public void rotate(double thetaradians) Scale --- scale(double sx, double xy) Shear Custom

40 Örnek public void paintcomponent(graphics g) { super.paintcomponent(g); Graphics2D g2d = (Graphics2D)g; g2d.setpaint(gpaint); g2d.fill(square); g2d.setpaint(color.white); affine.translate(100, 100); g2d.settransform(affine); g2d.drawstring(" ", 0, 0); affine.rotate(math.pi/4.0); g2d.settransform(affine); g2d.drawstring(" ", 0, 0); affine.settoidentity(); } private AffineTransform affine = new AffineTransform();

41 Nesneleri Döndürme Bu yöntemde ise bir nesneden yeni dönüşüme uyğramış bir nesne elde edilir. arrowrotate = AffineTransform.getRotateInstance(- Math.PI/2, 20, -20); shadowscale = AffineTransform.getScaleInstance(1.0, 0.4); shadowshear = AffineTransform.getShearInstance(-1.25, 0.0); rotatedarrow = arrowrotate.createtransformedshape(arrow); scaledarrow = shadowscale.createtransformedshape(rotatedarrow); skewedarrow = shadowshear.createtransformedshape(scaledarrow); fonttransform = AffineTransform.getScaleInstance(1.0, -1.0); fonttransform.shear(-1.0, 0.0); reflectionfont = textfont.derivefont(fonttransform); shadowscale.shear(-1.25, 0.0); reflectionfont2 = textfont.derivefont(shadowscale);

42 Rendering Hints Rendering ayarları default olarak hızlıya ayarlanmıştır. Fakat istersek daha kaliteli görünüm için hızdan feda edip Rendering Hint leri kullanabiliriz. Örnek (Yüksek kalite) RenderingHints renderhints = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);... public void paintcomponent(graphics g) { // super.paintcomponent(g); Graphics2D g2d = (Graphics2D)g; g2d.setrenderinghints(renderhints); RenderingHint nesnesi bir attribute olarak kullanıldığından paint nesnesi içinde tekrar tekrar bu nesneni bir örneği yaratılması pek uygun değildir.

43 Animasyon Java2D animasyonları için thread ler kullanılır. Oluşturulan basit bir thread ile istenilen zaman aralığında sistemin beklemesi sağlanır. Gerekli değişiklikler bu tread aracığı veya paintcomponent() metodu ile gerçekleştirilebilir. Daha sonra tekrar paintcomponent() metodu çağırılır. Bu metodun çağırılımı özel olarak kullanılan repaint() metodu ile gerçekleştirilir. while ( fthread!= null){ try{ Thread.sleep (25); } catch (InterruptedException e) { } panel.repaint (); }

44 Animasyon Diğer bir kullanım Timer ları kullanmaktır. Animasyon yapılan sınıf TimerTask nesnesinden kalıtlanır. TimerTask aynı threadlerde olduğu gibi run() metodunu içerir. Fakat run() metodunun direk olarak çağrımı söz konusu değildir. public final class SimpleAnimation extends TimerTask { public static void main(string[] arguments ) { TimerTask sanim = new SimpleAnimation(); Timer timer = new Timer(); timer.scheduleatfixedrate(sanim, new GregorianCalendar().getTime(), 1000); } public void run(){ //toy implementation repaint(); } public void paintcomponent(graphics g) { }

45 Rendering işlemi (Genel Bakış) Graphics Primitives Shapes fill() draw() Graphics2D stroke Transformation Text Images DrawString() drawimage() font Rendering hints rasterizer Clipping shape paint Compositing rule images Output Devices

Çizgilerin kalınlığını Dolguları Temel dönüşüm işlemlerini Bileşik nesne oluşturma işlemlerini kontrol etmemizi sağlar.

Çizgilerin kalınlığını Dolguları Temel dönüşüm işlemlerini Bileşik nesne oluşturma işlemlerini kontrol etmemizi sağlar. JAVA2D Java2D API Geniş çaplı 2D geometrik şekillerin çizdirilmesini Birleşik (Composite) nesnelerin oluşturmasını Renk yönetimini kolaylaştıracak genişletilmiş renk desteği özelliklerini Kompleks dokümanlar

Detaylı

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ Ana Main Kodları /*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ package javaapplication1; public class JavaApplication1 public static void

Detaylı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir

Detaylı

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts

Detaylı

APPLET KAVRAMI ve GRAFİKSEL ÇİZİM UYGULAMLARI

APPLET KAVRAMI ve GRAFİKSEL ÇİZİM UYGULAMLARI APPLET KAVRAMI ve GRAFİKSEL ÇİZİM UYGULAMLARI Hedefler Bu üniteyi çalıştıktan sonra; Applet kavramını öğreneceksiniz, Java grafik eksenini tanıyacaksınız, Grafiksel çizim komutlarını öğreneceksiniz, Renk

Detaylı

Start : Bu method init methodundan hemen sonra çalışır ve applet dosyası yürütülmeye başladığında çalışmaya başlar.

Start : Bu method init methodundan hemen sonra çalışır ve applet dosyası yürütülmeye başladığında çalışmaya başlar. Java Applet Nedir? Java applet nedir?apllet Örnekleri,applet ve japplet farkı Applet Nedir? Applet Web Sayfaları üzerinde yayınlabilen class dosyalarıdır. Bir applet mutlaka Apllet sınıfının alt sınıfı

Detaylı

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI) MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI) Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web

Detaylı

COM337 Bilgisayar Grafiği. OpenGL ile Grafik Programlama. Dr. Erkan Bostancı

COM337 Bilgisayar Grafiği. OpenGL ile Grafik Programlama. Dr. Erkan Bostancı COM337 Bilgisayar Grafiği OpenGL ile Grafik Programlama Dr. Erkan Bostancı İçerik Işık Resim ve Metin Görüntüleme Texture-mapping Işık (1/3) OpenGL de bir sahne 8 farklı ışık kaynağı kullanabilir. İlk

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58; BTEP212 Java DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI Lab7 bazen bir metodun içinde o metodun ait olduğu sınıftan yaratılacak nesneyi veya o nesnenin bir alt

Detaylı

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü: Bölüm 24 Java Ağ Uygulamaları 24.1 Java Appletleri Applet, Web tarayıcısında çalışan bir Java programıdır. Bir applet, Java uygulaması için tamamen fonskiyonel olabilir çünkü bütün Java API ye sahiptir.

Detaylı

Görsel Programlama DERS 07. Görsel Programlama - Ders07/ 1

Görsel Programlama DERS 07. Görsel Programlama - Ders07/ 1 Görsel Programlama DERS 07 Görsel Programlama - Ders07/ 1 KULLANICI ARAYÜZÜ GELİŞTİRME Kullanıcı arayüzleri (GUI-Graphical User Interface) kullanıcının işletim sisteminin pencere yöneticisinde görebildiği,

Detaylı

JavaFX Temelleri (1)

JavaFX Temelleri (1) JavaFX Temelleri (1) Sahne Çizelgesi (Scene Graph), Yerleşim Panoları (Layout Panes), Uygulama Soyut Sınıfı ve İskeleti, Uygulama Sahnesi (Application Scene), GUI Olayları (GUI Events), Olay İşleme (Event

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

CENG 217 Object Oriented Design. Doç. Dr. Halûk Gümüşkaya haluk@gumuskaya.com / haluk@fatih.edu.tr http://www.gumuskaya.com

CENG 217 Object Oriented Design. Doç. Dr. Halûk Gümüşkaya haluk@gumuskaya.com / haluk@fatih.edu.tr http://www.gumuskaya.com CENG 217 Object Oriented Design Lecture 6 Doç. Dr. Halûk Gümüşkaya haluk@gumuskaya.com / haluk@fatih.edu.tr http://www.gumuskaya.com Computing Engineering Department Fatih University Thursday, December

Detaylı

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR KUYRUKLAR QUEUES Doç. Dr. Aybars UĞUR Giriş Bu bölümde gerçek yaşamdaki kuyrukların bilgisayardaki gösterimleri üzerinde durulacaktır. Kuyruklar, eleman eklemelerin sondan (rear) ve eleman çıkarmaların

Detaylı

Karşılaştırma İşlemleri ve Koşullu İfadeler

Karşılaştırma İşlemleri ve Koşullu İfadeler Karşılaştırma İşlemleri ve Koşullu İfadeler BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz Karşılaştırma İşlemleri Java'da sayısal veri tiplerinin karşılaştırılması için aşağıdaki karşılaştırma

Detaylı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME Hedefler Bu üniteyi çalıştıktan sonra; Layout çeşitlerinin ve aralarındaki farkları açıklayabilir, Android projesinde farklı Laoyut kullanabilir, Android projesinde TextView,

Detaylı

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Yazılım Kodlama ve İ simlendirme Standartları v1.0 Yazılım Kodlama ve İ simlendirme Standartları v1.0 İçerik Yazılım Kodlama ve İsimlendirme Standartları... 2 1. Amaç... Hata! Yer işareti tanımlanmamış. 2. Kapsam... Hata! Yer işareti tanımlanmamış. 3.

Detaylı

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

Java ile Nesneye Yönelik Programlama (Object Oriented Programming) Java ile Nesneye Yönelik Programlama (Object Oriented Programming) Giriş Yrd. Doç. Dr. Aybars UĞUR Örnek 1 Bir Yolcu sınıfı, yolcu1 nesnesi oluşturulması ve kullanılması class Yolcu String ad; String soyad;

Detaylı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ AD SOYAD: TESLİM TARİHİ: OKUL NO: TESLİM SÜRESİ: 1 hafta ÖDEV NO: 4 1 Kısaca

Detaylı

İÇİNDEKİLER VII İÇİNDEKİLER

İÇİNDEKİLER VII İÇİNDEKİLER İÇİNDEKİLER VII İÇİNDEKİLER 1 GİRİŞ 1 AutoCAD Programının Başlatılması 1 AutoCAD Çizim Editörü 2 AutoCAD Arayüzeyi 2 Home Komut Menüsü 4 Insert Komut Menüsü 4 Annotote Komut Menüsü 4 Parametric Komut Menüsü

Detaylı

BİLGİSAYAR DESTEKLİ TASARIM (TEKNİK RESİM-II) Yrd. Doç. Dr. Muhammed Arslan OMAR

BİLGİSAYAR DESTEKLİ TASARIM (TEKNİK RESİM-II) Yrd. Doç. Dr. Muhammed Arslan OMAR BİLGİSAYAR DESTEKLİ TASARIM (TEKNİK RESİM-II) Yrd. Doç. Dr. Muhammed Arslan OMAR CHAMFER (Pah kırma) Objelerin köşelerine pah kırmak için kullanılır. [Undo/Polyline/Distance/Angle/Trim/mEthod/Multiple]

Detaylı

BOOTLOADER MANUAL DOCUMENT

BOOTLOADER MANUAL DOCUMENT BOOTLOADER MANUAL DOCUMENT 1 İçindekiler Tablosu 1- Ön Bilgilendirme... 3 2- Genel Dosya Yapısı... 3 3- Kullanılan Yazılım Dili... 4 4- Programı Özelleştirmek... 4 4.1- Windows için... 4 4.2- Linux için...

Detaylı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;

Detaylı

Java da İstemci Tarafı Uygulamalar

Java da İstemci Tarafı Uygulamalar Java da İstemci Tarafı Uygulamalar ( Applets ) BBS-515 Nesneye Yönelik Programlama Ders #7 (7 Aralık 2009) İçerikç Geçen ders: Java da dizi ( array ) ve dizgi ( String ) tanımlama Örnekler Bu ders: 1.

Detaylı

BİL132 Bilgisayar Programlama II

BİL132 Bilgisayar Programlama II BİL132 Bilgisayar Programlama II 8. Olağandışı durumlar (exceptions) Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yüksel Tarhan Olağandışı durum Kütük bulunamadı Diskte yer kalmadı Nesne referans

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Grafik Programlama Bilgisayar kullanılırken monitörlerde iki tür ekran moduyla karşılaşılır. Bu ekran modları Text modu ve Grafik modu dur. Text modunda ekran 25 satır ve 80 sütundan

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

Detaylı

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN TEMEL AMAÇLAR Bir dairenin yarıçapını kullanıcıdan alarak dairenin alanını hesaplamak istediğimizi düşünelim. Eğer girilen değer

Detaylı

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ WEB TEKNOLOJİLERİ VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu

Detaylı

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi Görsel Programlama Kalıtım, Temel/Alt Sınıf, Temel/Alt Sınıf Tip Dönüşümleri, Temel Sınıf Yapıcıları, super Anahtar Kelimesi, Sınıf Üyesi Görünürlüğü, Statik Üyeler ve Final Üyeler Sınıflar Programcı tarafından

Detaylı

Ölçek Kavramı Görünüşler AutoCAD ile çizime hazırlık Komut Anlatımı Komut Satırı Koordinat Girişi (Line)

Ölçek Kavramı Görünüşler AutoCAD ile çizime hazırlık Komut Anlatımı Komut Satırı Koordinat Girişi (Line) HAFTA-3 Ölçek Kavramı Görünüşler AutoCAD ile çizime hazırlık Komut Anlatımı Komut Satırı Koordinat Girişi (Line) Çizime hazırlık (Çizim Kolaylıkları ve Layer Kavramı 0/17 ÖLÇEK Nesnenin gerçek boyutları

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 10: Yapıcı ve Yıkıcı Fonksiyonlar Yapıcı Fonksiyonlar İçerik Yapıcı Fonksiyon Tanımı Üyelere İlk Atama Yapıcı Fonksiyonu Yükleme Yapıcı Fonksiyon Çağırımı Kopya

Detaylı

BÖLÜM 17 17. ÜÇ BOYUTLU NESNELERİ KAPLAMA VE GÖLGELENDİRME

BÖLÜM 17 17. ÜÇ BOYUTLU NESNELERİ KAPLAMA VE GÖLGELENDİRME BÖLÜM 17 17. ÜÇ BOYUTLU NESNELERİ KAPLAMA VE GÖLGELENDİRME 17.1. HİDE Üç boyutlu katı modelleme ve yüzey modellemede Wireframe yapılarının görünmemesi için çizgileri saklama görevi yapar. HİDE komutuna

Detaylı

1 - Button Kontrolu Nasıl Yapılır?

1 - Button Kontrolu Nasıl Yapılır? 1 - Button Kontrolu Nasıl Yapılır? Graphical Layout Activity_main.xml

Detaylı

Ekran 1 : Font Komutları Dosyası ekranı

Ekran 1 : Font Komutları Dosyası ekranı 27 Ekim 2010 Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL Đlgili Modül/ler : ETASQLFORM DĐZAYNLARDA FARKLI FONT LU YAZI TĐPĐ KULLANIMI ETASQL Doküman Düzenleyicisi olan ETASQLFORM.EXE ile Fatura, Sipariş,

Detaylı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME Hedefler Bu üniteyi çalıştıktan sonra; Android projesi oluşturabilir, Android projesini çalıştırabilir, Android projesi genel yapısını açıklayabilir, Activity kavramını açıklayabilir,

Detaylı

GÖRÜNÜŞLER. Bir nesneyi daha iyi resmedebilmek için Görünüşlerden yararlanılır.

GÖRÜNÜŞLER. Bir nesneyi daha iyi resmedebilmek için Görünüşlerden yararlanılır. GÖRÜNÜŞLER Bir nesneyi daha iyi resmedebilmek için Görünüşlerden yararlanılır. 03/17 GÖRÜNÜŞLER 6 görünüşün açılımı. (Avrupa Metodu) 04/17 GÖRÜNÜŞLER Kare piramit a b Üstten görünüşlerini çiziniz Koni

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları CheckBox Onay Kutusu, kullanıcının mantıksal bir ifade hakkında seçim yapmasına imkân verir. Kullanıcıya seçenekler sunmayı sağlar. Birçok seçenek seçilebilir. CheckBox Özellikleri Özellik Değer Tipi Açıklama

Detaylı

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ BBS515 Nesneye Yönelik Programlama Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ print metodu System.out.print imleci aynı satırda tutar, System.out.println imleci bir alt satıra indirir Tamsayı

Detaylı

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 18: Formatlı Grafik Kullanıcı Arayüzü Oluşturma

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 18: Formatlı Grafik Kullanıcı Arayüzü Oluşturma MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 18: Formatlı Grafik Kullanıcı Arayüzü Oluşturma Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=107

Detaylı

Android Ders Notları

Android Ders Notları Android Ders Notları 1. Yeni Bir Proje Başlatma Android Studio programında yeni bir proje başlatıyoruz. İlk olarak karşımıza resim 1 deki gibi bir pencere gelecek. Burada Application name kısmına proje

Detaylı

BMH-303 Nesneye Yönelik Programlama

BMH-303 Nesneye Yönelik Programlama BMH-303 Nesneye Yönelik Programlama Kurucu metotlar (constructors) ve statik deyimi Dr. Musa ATAŞ Siirt Üniversitesi Bilgisayar Mühendisliği Kurucu Metotlar (Constructors) Kurucu metot çeşitleri Varsayılan

Detaylı

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta Ön bilgi: Özyineli fonksiyon tanımlanabilmeli. Dizilerin fonksiyon parametresi veya geri dönüş değeri olarak kullanımı bilinmeli. 1. Klavyeden girilen sayı n olmak üzere [1..n] aralığındaki sayıların toplamı

Detaylı

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır.

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır. Bölüm 20 20 Arayüzler Arayüz bir sınıf değildir. Arayüz yazmak sınf yazmaya çok benzer ancak ikisi birbirinden farklı konseptlerdir. Sınıf bir nesnenin özelliklerini ve davranışlarını belirtirken; bir

Detaylı

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama İçerik Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Bu hafta:

Detaylı

2 TEMEL ÇİZİM KOMUTLARI

2 TEMEL ÇİZİM KOMUTLARI İÇİNDEKİLER ÖNSÖZ III Bölüm 1 AUTOCAD E GİRİŞ 11 1.1.Autocad Programının Kurulumu 12 1.2.Autocad Çizim Ortamının Tanıtılması 13 1.3.Dosyalama İşlemleri 17 1.3.1Yeni Dosya Açma (NEW) 17 1.3.2 Eski Bir Çizim

Detaylı

Dr. Fahri Vatansever GRAFİK. 6. Hafta GRAFİK MODU. x x (0,0) (x,y) piksel (pixel) EKRAN. (Xmax,Ymax)

Dr. Fahri Vatansever GRAFİK. 6. Hafta GRAFİK MODU. x x (0,0) (x,y) piksel (pixel) EKRAN. (Xmax,Ymax) GRAFİK 6. Hafta GRAFİK MODU (0,0) x x y (x,y) piksel (pixel) y EKRAN (Xmax,Ymax) 1 GRAFİK MODUNA GEÇİŞ detectgraph( grafik sürücü, grafik mod ) initgraph( grafik sürücü, grafik mod, yol ) closegraph Bilgisayar

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak

Detaylı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME Hedefler Bu üniteyi çalıştıktan sonra; BaseAdapter yapısından miras alabilir, ListView bileşenine özel layout ve adapter oluşturabilir, WebView bileşenini kullanarak web sayfalarını

Detaylı

Nesneye Yönelik Programlama-JAVA (S flar), Ders sorumlusu Yrd.Doç.Dr.Hilmi KU ÇU

Nesneye Yönelik Programlama-JAVA (S flar), Ders sorumlusu Yrd.Doç.Dr.Hilmi KU ÇU Nesneye Yönelik Programlama-JAVA (Sflar), Ders sorumlusu Yrd.Doç.Dr.Hilmi KUÇU APPLET APPLET, bir web taray aracyla çalan JAVA programr. Applet s Java.applet paketinde bulunur. APPLET Bir applet, yap çalmas

Detaylı

WEB TASARIMININ TEMELLERİ

WEB TASARIMININ TEMELLERİ WEB TASARIMININ TEMELLERİ Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Hafta Modüller/İçerik/Konular 1. Hafta İnternet ve WEB Tanımları Html Temel Etiketleri

Detaylı

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Ders #2 (2 Kasım 2009) İçerikç Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili

Detaylı

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Paket Erişimleri Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Altuğ B. Altıntaş

Detaylı

CSS (Stil Şablon) (Cascading Style Sheets) YRD. DOÇ. DR. ENGİN CEMAL MENGÜÇ

CSS (Stil Şablon) (Cascading Style Sheets) YRD. DOÇ. DR. ENGİN CEMAL MENGÜÇ CSS (Stil Şablon) (Cascading Style Sheets) YRD. DOÇ. DR. ENGİN CEMAL MENGÜÇ 2 CSS, açılımı Cascading Style Sheet olan ve dilimize Stil şablonları olarak yerleşen basit ve kullanışlı bir işaretleme dilidir.

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 2 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 2 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 2 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 1 hafta Ödev No : 2 (İlk 2 soru el yazısı ile çıktı alınarak

Detaylı

ECLIPSE PROGRAMININ ÇALIŞTIRILMASI

ECLIPSE PROGRAMININ ÇALIŞTIRILMASI ECLIPSE PROGRAMININ ÇALIŞTIRILMASI 1 Eclipse programının çalışır hale getirilebilmesi için JDK nın kurulumunun tamamlanmış olması gerekmektedir. Eclipse programı dosyasını indiremediyseniz dersin internet

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

2 INDESIGN CC DE NELER YENİ?

2 INDESIGN CC DE NELER YENİ? İÇİNDEKİLER VII İÇİNDEKİLER 1 TEMEL KAVRAMLAR 1 Neler Öğreneceksiniz? 1 Başlarken 1 Sistem Gereksinimleri 2 Mizanpaj Nedir? 3 Forma Nedir? 3 Grafik Formatları ve Genel Özellikleri 3 Bitmap Grafikler 4

Detaylı

Burak Kıymaz 13.10.2015 JAVA FX

Burak Kıymaz 13.10.2015 JAVA FX JavaFx neden çıktı? JAVA FX Eskiden desktop için swing kullanılırdı fakat pek iyi değildi. Javafx bu konuda css kullanmaya da izin verdiği için daha iyi bulundu. xml veriyi biçimlendirmek için kullanılan

Detaylı

public class SalesLineItem // Java { private int quantity; private ProductSpecification description; public Money getsubtotal() {...

public class SalesLineItem // Java { private int quantity; private ProductSpecification description; public Money getsubtotal() {... Kodlama Sınıf tanımları yazılım sınıflarının diyagramlarından yararlanılarak oluşturulur. Karmaşık veri tiplerine (örneğin sınıf) sahip üyeler referans ya da işaretçi olarak yaratılmalılar. Basit nitelik

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 7 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Java Programlama Dili ve Algoritmadan Kodlamaya Geçiş) Yrd. Doç. Dr. İbrahim Küçükkoç

Detaylı

Skecher (Çizim) Komutları

Skecher (Çizim) Komutları Skecher (Çizim) Komutları Ahmet SAN Karamürsel 2018 Sketch Oluşturma Catia programında katı model oluşturmak için öncelikle sketch oluşturmamız gerekir bu işlem sketcher araç çubuğu üzerindeki sketch ile

Detaylı

Bölüm 8. Ayrık Küme. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 16

Bölüm 8. Ayrık Küme. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 16 Bölüm 8. Ayrık Küme Olcay Taner Yıldız 2014 O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, 2013 1 / 16 O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi

Detaylı

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi Görsel Programlama Metot Yeniden Tanımlama, Metot Aşırı Yükleme, Dinamik Metot Yükleme, Soyut Sınıflar, Soyut Metotlar, Arayüzler, Çoklu Kalıtım, Anonim Sınıflar ve java.lang.object Sınıflar Programcı

Detaylı

SINIF İÇİ UYGULAMA KODLARI

SINIF İÇİ UYGULAMA KODLARI SINIF İÇİ UYGULAMA KODLARI ARABA HAREKET ETTİRME using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

Detaylı

/*int sayi1, sayi2,toplam=0;

/*int sayi1, sayi2,toplam=0; static void Main(string[] args) { //--------------------1. ders-------------------- -------- / ekrana yazma ekrandan okuma sayısal değerleri okuma yer tutucular basit tip dönüşümü / /int sayi1, sayi2,toplam=0;

Detaylı

Klavyeden Basit Giriş/Çıkış İşlemleri

Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden veri girilmesi, girilen verilere çeşitli işlemler uygulandıktan sonra ekrana yazdırılması ya da herhangi bir yazıcıdan çıktı alınması gibi işlemlerdir. Javada

Detaylı

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO GELİŞTİRME

Detaylı

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

Detaylı

Spring Framework Eğitimi

Spring Framework Eğitimi Hazırlayan: Barış Dere @BarisDere baris.dere@gmail.com Spring Framework Eğitimi Ders 2: Http://www.youtube.com/barisdere Ders içeriği Spring IoC container tanıtımı Spring IoC container çalışma şekli Metadata

Detaylı

Erişim konusunda iki taraf vardır:

Erişim konusunda iki taraf vardır: Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Paket (package) Paketler kütüphaneyi oluşturan elemanlardır. PaketKullanim.java Varsayılan Paket

Detaylı

Bire-bir Sahiplik İlişkisi ile İlgili Sorular:

Bire-bir Sahiplik İlişkisi ile İlgili Sorular: Bire-bir Sahiplik İlişkisi ile İlgili Sorular: Soru 1: Bir füzenin kilometre cinsinden menzili ve kilogram cinsinden ağırlığı mevcuttur. Bir füze ya kara hedefleri ya da hava hedefler için tasarlanır.

Detaylı

using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices;

using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices; using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices; namespace BMYOWordPad public partial class Form1 : Form // kaydırma çubuğu

Detaylı

RSA ANAHTAR DAĞITIMI VE RSA İLE DİJİTAL İMZA OLUŞTURMA

RSA ANAHTAR DAĞITIMI VE RSA İLE DİJİTAL İMZA OLUŞTURMA RSA ANAHTAR DAĞITIMI VE RSA İLE DİJİTAL İMZA OLUŞTURMA İlk defa 1977 yılında Ron Rivest, Adi Shamir ve Leonard Adleman tarafından oluşturulan RSA algoritması geliştiricilerinin soyisimlerinin ilk harfleriyle

Detaylı

Java String İşlemleri

Java String İşlemleri Java String İşlemleri Karakterler (Characters) "char" kelimesi bir karakter tanımlamak için kullanılır. Karakter tek tırnak içine alınmalıdır. Bir char'ın aralığı 0 ile 65536 arasındadır. Char türü işaretsiz

Detaylı

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2.

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2. İçerik Geçen ders: Kalıtım ( inheritance ) Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama Ders #5 (18 Kasım 2009) Bu ders: Kalıtım ( inheritance ) tekrar ziyaret Java da super kullanımı

Detaylı

DERS 1. (define YAŞ 14) YAŞ = 14. (define BİR-SAYI 0.6) BİR-SAYI = 0.6. (define HIZ -90) HIZ = -90. İki tane de kendiniz yazın: SINIF = Önyükleme

DERS 1. (define YAŞ 14) YAŞ = 14. (define BİR-SAYI 0.6) BİR-SAYI = 0.6. (define HIZ -90) HIZ = -90. İki tane de kendiniz yazın: SINIF = Önyükleme Name ÖNYÜKLEME 2 DERS 1 Racket Kodu (define YAŞ 14) Pyret Kodu YAŞ = 14 Numbers (define BİR-SAYI 0.6) (define HIZ -90) BİR-SAYI = 0.6 HIZ = -90 İki tane de kiniz yazın: Metinler (define SINIF Önyükleme

Detaylı

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama Ders #5 (18 Kasım 2009) İçerik Geçen ders: Kalıtım ( inheritance ) Bu ders: Kalıtım ( inheritance ) tekrar ziyaret Java da super kullanımı

Detaylı

Java: printf() Metodu İle Çıktıyı Biçemleme

Java: printf() Metodu İle Çıktıyı Biçemleme 1 Java: printf() Metodu İle Çıktıyı Biçemleme PrintStream ve PrintWriter sınıflarının yapısı: java.io Class PrintStream java.lang.object java.io.outputstream java.io.filteroutputstream java.io.printstream

Detaylı

MEKANİZMA TEKNİĞİ (7. Hafta)

MEKANİZMA TEKNİĞİ (7. Hafta) MEKANİZMA TEKNİĞİ (7. Hafta) Mekanizmaların Sayısal ve Programatik Analizi Buraya kadar olan kısımda mekanizmaların üzerindeki tüm uzuvların konum, hız ve ivmelerini analitik yöntemlerle bulmuş olduk.

Detaylı

Java da İşleçler, Ders #3 (4 Kasım 2009)

Java da İşleçler, Ders #3 (4 Kasım 2009) Java da İşleçler, Kontrol Akış ve Döngü Deyimleri BS-515 Nesneye Yönelik Programlama Ders #3 (4 Kasım 2009) İçerikç Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu

Detaylı

3. Bölüm Soyut Sınıflar (Abstract Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu

3. Bölüm Soyut Sınıflar (Abstract Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu Java ile Nesne Merkezli ve Fonksiyonel Programlama 3. Bölüm Soyut Sınıflar (Abstract Classes) Akın Kaldıroğlu Kasım 2015 Küçük Ama Önemli Bir Konu Ø Bu dosya ve beraberindeki tüm, dosya, kod, vb. eğitim

Detaylı

Bilgisayar Grafiğine Giriş Ders Notları

Bilgisayar Grafiğine Giriş Ders Notları Bilgisayar Grafiğine Giriş Ders Notları picturebox1.imagelocation = @"C:\dosyakonum\resimdosyasi.png"; Image img = Image.FromFile(@"C:\dosyakonum\resimdosyasi.png "); picturebox1.image = img; Image img

Detaylı

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama İçerik Java da İşleçler, Kontrol Akış ve Döngü Deyimleri Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu ders: Java da işleçler ( operators ) Java da kontrol-akış

Detaylı

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde

Detaylı

JAVADA DİZİ İŞLEMLERİ

JAVADA DİZİ İŞLEMLERİ JAVADA DİZİ İŞLEMLERİ Javada diziler nesnedirler, cdeki gibi hafızada yer kaplayan pointer değillerdir. Javada diziler, cye göre daha güvenilirdir. Dizilerin elemanlarına gelişigüzel değerler atayamazsınız.

Detaylı

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM 2014) //Class (Sınıf) // Sınıf (class) soyut veri tipidir. // Nesne (object) sınıfın somutlaşan bir cismidir. // static : nesnesi oluşturulmaz.

Detaylı

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir. PART 5 5. Denetleyici Türleri Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir. Java Erişim Kontrol Denetleyicileri (Access Control Modifiers) Erişim Harici Denetleyiciler

Detaylı

DİŞLİ ÇARK ÇİZİMİ: 1. Adım Uzunlukları diş üstü dairesi çapından biraz büyük olacak şekilde bir yatay ve bir düşey çizgi çizilir.

DİŞLİ ÇARK ÇİZİMİ: 1. Adım Uzunlukları diş üstü dairesi çapından biraz büyük olacak şekilde bir yatay ve bir düşey çizgi çizilir. DİŞLİ ÇARK ÇİZİMİ: Bir dişli çarkın çizilebilmesi için gerekli boyutların tanımlaması gerekir. Yandaki şekilde gösterilen boyutların hesaplanması için gerekli formüller aşağıda belirtilmiştir. Do= Bölüm

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ AD SOYAD: TESLİM TARİHİ: OKUL NO: TESLİM SÜRESİ: 2 hafta ÖDEV NO: 5 1- BANKA

Detaylı

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama BMS-302 İleri Web Programlama İş Parçacığı (Thread) ve Soket (Socket) Programlama İş Parçacıkları (Threads) Ana programa paralel çalışan işler oluşturmak için kullanılır Makine birden fazla çekirdeğe sahipse

Detaylı

3.Hafta. . Kontrol Deyimleri/İfadeler

3.Hafta. . Kontrol Deyimleri/İfadeler . Kontrol Deyimleri/İfadeler Kontrol deyimleri bir uygulamanın yürütülmesi sırasında program akışını yönlendiren yapılar/kalıplardır. Kontrol deyimi olmaksızın bir uygulama yazılması neredeyse olanaksıdır

Detaylı