29
EDUTIME EDUTIME applet applet Day 7 Day 7 Serdar TÜRKEL Serdar TÜRKEL

EDUTIME applet

  • Upload
    gwidon

  • View
    90

  • Download
    0

Embed Size (px)

DESCRIPTION

EDUTIME applet. Day 7 Serdar TÜRKEL. APPLET. ‘APPLET’, bir web tarayıcı aracılığıyla çalışan JAVA programıdır. ‘Applet’ sınıfı “Java.applet” paketinde bulunur. APPLET. Bir applet, yapısını çalışması sırasında gerçekleşen 4 olayla oluştururur. APPLET. paint() - PowerPoint PPT Presentation

Citation preview

Page 1: EDUTIME applet

EDUTIMEEDUTIMEappletapplet

Day 7Day 7Serdar TÜRKELSerdar TÜRKEL

Page 2: EDUTIME applet

APPLETAPPLET

‘‘APPLET’, bir web tarayıcı aracılığıyla APPLET’, bir web tarayıcı aracılığıyla çalışan JAVA programıdır.çalışan JAVA programıdır.

‘‘Applet’ sınıfı “Java.applet” paketinde Applet’ sınıfı “Java.applet” paketinde bulunur.bulunur.

Page 3: EDUTIME applet

APPLETAPPLET Bir applet, yapısını çalışması sırasında Bir applet, yapısını çalışması sırasında

gerçekleşen 4 olayla oluştururur.gerçekleşen 4 olayla oluştururur.

MetotMetot ÖzellikÖzellik

init()init() Başlangıçta oluşturulur, başlangıç sürecinde appletin Başlangıçta oluşturulur, başlangıç sürecinde appletin ihtiyaç duyduğu nesneler yaratılır. Bu metot grafiği ihtiyaç duyduğu nesneler yaratılır. Bu metot grafiği yüklemek, değişkenlerin başlangıç değerlerini atamak ve yüklemek, değişkenlerin başlangıç değerlerini atamak ve nesneleri oluşturmak için kullanılır.nesneleri oluşturmak için kullanılır.

start()start() Applet başladığında çağrılır. Başlangıç süreci bittiği Applet başladığında çağrılır. Başlangıç süreci bittiği zaman applet çalıştırılır. Bu metot, applet durduktan zaman applet çalıştırılır. Bu metot, applet durduktan sonra yeniden başlatmak için kullanılır.sonra yeniden başlatmak için kullanılır.

stop()stop() Appletin çalışması geçici olarak durdurulacaksa, çağrılır.Appletin çalışması geçici olarak durdurulacaksa, çağrılır.

destroy()destroy() Appleti yok etmek için kullanılır. Applet yok edildiği Appleti yok etmek için kullanılır. Applet yok edildiği zaman bellek işlemci zamanı ve diske taşıma alanı zaman bellek işlemci zamanı ve diske taşıma alanı sisteme geri verilir.sisteme geri verilir.

Page 4: EDUTIME applet

APPLETAPPLET paint()paint()

• Bu metot ekran üzerinde satır, metin veya resim gösterir. Bu metot ekran üzerinde satır, metin veya resim gösterir. Türü graphics sınıfı olan bir argüman alır.Türü graphics sınıfı olan bir argüman alır.

repaint()repaint()• Bir pencere güncelleneceği zaman kullanılır. Kullanılan Bir pencere güncelleneceği zaman kullanılır. Kullanılan

parametre graphics sınıfının bir örneklemesidir.parametre graphics sınıfının bir örneklemesidir.

showStatus()showStatus()• Appletler bu metodu kullanarak durum çubuğunda bilgi Appletler bu metodu kullanarak durum çubuğunda bilgi

gösterir. Bu metodun gizli parametresi vardır. Applet gösterir. Bu metodun gizli parametresi vardır. Applet hakkında herhangi bir bilgi döndürmek için kullanıcı applet hakkında herhangi bir bilgi döndürmek için kullanıcı applet sınıfının getAppletInfo() metodunun üzerine yazabilir. sınıfının getAppletInfo() metodunun üzerine yazabilir.

Page 5: EDUTIME applet

APPLETAPPLETimport java.applet.*;import java.applet.*;import java.awt.*;import java.awt.*;public class applet1 extends Applet{public class applet1 extends Applet{

int x,y;int x,y;public void init(){public void init(){

x=60;x=60;y=100;y=100;

}}public void paint(Graphics g){public void paint(Graphics g){

g.drawString("Edutime bilgi akademisi",x,y);g.drawString("Edutime bilgi akademisi",x,y);showStatus(getAppletInfo());showStatus(getAppletInfo());

}}public String getAppletInfo(){public String getAppletInfo(){

String info="academy of information technologies";String info="academy of information technologies";return info;return info;

}}}}

Page 6: EDUTIME applet

APPLETAPPLET

Yazdığımız java dosyasını derleyin, Yazdığımız java dosyasını derleyin, derlediğiniz dosyaya ait .class derlediğiniz dosyaya ait .class dosyasını bir HTML dosyasına dosyasını bir HTML dosyasına gömmeniz gerekir. Bunun için bir gömmeniz gerekir. Bunun için bir HTML dosyası oluşturun.HTML dosyası oluşturun.

Page 7: EDUTIME applet

APPLETAPPLET

HTML dosyasına applet gömmek.HTML dosyasına applet gömmek.• <applet> takısını kullanarak bir Appleti <applet> takısını kullanarak bir Appleti

web sayfasına gömmeniz gerekir. Bu web sayfasına gömmeniz gerekir. Bu takıya ait temel 4 parametre vardır.takıya ait temel 4 parametre vardır.

width :width : appletin sayfa içerisinde appletin sayfa içerisinde görünmesini istediğiniz kısmının genişliğini görünmesini istediğiniz kısmının genişliğini ayarlamak için kullanılır. ayarlamak için kullanılır.

Height : Height : appletin sayfa içerisinde appletin sayfa içerisinde görünmesini istediğiniz kısmının yüksekliğini görünmesini istediğiniz kısmının yüksekliğini ayarlamak için kullanılır. ayarlamak için kullanılır.

Page 8: EDUTIME applet

APPLETAPPLET code :code : eklemek istediğiniz appletin(.class uzantılı dosya) ismi eklemek istediğiniz appletin(.class uzantılı dosya) ismi

uzantısı ile birlikte yazılır. uzantısı ile birlikte yazılır. codebase : codebase : Appletin bulunduğu klasörün tam yolu yazılır.Appletin bulunduğu klasörün tam yolu yazılır.

<html><html><head><head><title>ornek1</title><title>ornek1</title><meta http-equiv="Content-Type" content="text/html; <meta http-equiv="Content-Type" content="text/html;

charset=iso-8859-9">charset=iso-8859-9"></head></head>

<body><body><applet code="applet1.class" codebase = "file://C:/DAY7" <applet code="applet1.class" codebase = "file://C:/DAY7"

width="344" height="266">width="344" height="266"></applet></applet></body></body></html></html>

Page 9: EDUTIME applet

APPLETAPPLET

JAVA destekleyen herhangi bir web JAVA destekleyen herhangi bir web tarayıcı ile hazıladığınız HTML tarayıcı ile hazıladığınız HTML dosyasını kontrol edebilirsiniz, veya dosyasını kontrol edebilirsiniz, veya JDK ile birlikte gelen appletviewer JDK ile birlikte gelen appletviewer aracını kullanarak HTML dosyanızı aracını kullanarak HTML dosyanızı test edebilirsiniz.test edebilirsiniz.

Appletviewer’ın kullanımı :Appletviewer’ın kullanımı :• aplletviewer applet1.htmlaplletviewer applet1.html

Page 10: EDUTIME applet

APPLETAPPLET

Güvenlik kısıtlamaları : Güvenlik kısıtlamaları : • Bir appletin neler yapabileceği ile ilgili yoğun Bir appletin neler yapabileceği ile ilgili yoğun

bir kısıtlama vardır. Bir java dosyası kullanıcının bir kısıtlama vardır. Bir java dosyası kullanıcının sistemine zarar veren kodlar içerebilir. Bu sistemine zarar veren kodlar içerebilir. Bu nedenle aşağıdaki kısıtlamalar gerçekleştirilir. nedenle aşağıdaki kısıtlamalar gerçekleştirilir.

Kullanıcının bilgisayarındaki dosyaları okuyamaz, Kullanıcının bilgisayarındaki dosyaları okuyamaz, değişteremez ve silemez.değişteremez ve silemez.

Web sayfasını(applet dahil) sağlayan dışında hiçbir Web sayfasını(applet dahil) sağlayan dışında hiçbir internet sitesi ile iletişim kuramaz. internet sitesi ile iletişim kuramaz.

Kullanıcının sisteminde hiçbir program çalıştıramaz.Kullanıcının sisteminde hiçbir program çalıştıramaz. Kullanıcının sisteminde tutulan hiçbir programı Kullanıcının sisteminde tutulan hiçbir programı

yükleyemez.yükleyemez.

Page 11: EDUTIME applet

APPLETAPPLET

Bir Appletin Yaşam döngüsü.Bir Appletin Yaşam döngüsü.

creation init

start

stopdestroy

Page 12: EDUTIME applet

APPLETAPPLETimport java.applet.*;import java.applet.*;import java.awt.*;import java.awt.*;import java.awt.event.*;import java.awt.event.*;public class applet2 extends Applet implements public class applet2 extends Applet implements

MouseListener{MouseListener{static int i;static int i;

public void mouseExited(MouseEvent e){public void mouseExited(MouseEvent e){}}

public void mousePressed(MouseEvent me){public void mousePressed(MouseEvent me){}}

public void mouseRelesead(MouseEvent me){public void mouseRelesead(MouseEvent me){}}

public void mouseEntered(MouseEvent me){public void mouseEntered(MouseEvent me){}}

public void mouseClicked(MouseEvent me){public void mouseClicked(MouseEvent me){}}

public void mouseReleased(MouseEvent me){public void mouseReleased(MouseEvent me){repaint();repaint();}}

public void init(){public void init(){i=0;i=0;addMouseListener(this);addMouseListener(this);

}}public void paint(Graphics g){public void paint(Graphics g){

if(i>50){if(i>50){ this.destroy();this.destroy();}else{}else{

g.drawString(String.valueOf(i),20,15);g.drawString(String.valueOf(i),20,15);}}

i++;i++;}}

public void start(){public void start(){ Frame f=new Frame("pencere");Frame f=new Frame("pencere"); f.setSize(400,400);f.setSize(400,400); f.setVisible(true);f.setVisible(true);}}public void stop(){public void stop(){ Frame f=new Frame("pencere 2");Frame f=new Frame("pencere 2"); f.setSize(400,400);f.setSize(400,400);

f.setVisible(true);f.setVisible(true);}}

}}

Page 13: EDUTIME applet

APPLETAPPLET

Dizgi-Karakter ve Byte çizmeDizgi-Karakter ve Byte çizme• drawString()drawString()• drawChars()drawChars()• drawBytes()drawBytes()

Page 14: EDUTIME applet

APPLETAPPLET drawString(String str,int xCoor,int yCoor);drawString(String str,int xCoor,int yCoor);

• Str, yazılacak dizgidir,Str, yazılacak dizgidir,• xCoor, dizginin yazılacağı çerçece üzerindeki x koordinatıdır.xCoor, dizginin yazılacağı çerçece üzerindeki x koordinatıdır.• yCoor, dizginin yazılacağı çerçeve üzerindeki y koordinatıdır.yCoor, dizginin yazılacağı çerçeve üzerindeki y koordinatıdır.

drawChars(char array[],int offset, int length,int xCoor, int yCoor);drawChars(char array[],int offset, int length,int xCoor, int yCoor);• Array[], karakter dizisi,Array[], karakter dizisi,• Offset, yazılacak karakterlerin başlangıç pozisyonu,Offset, yazılacak karakterlerin başlangıç pozisyonu,• Length, diziden yazılacak karakterlerin sayısı.Length, diziden yazılacak karakterlerin sayısı.

drawBytes(byte array[], int offset, int length, int xCoor, int yCoor);drawBytes(byte array[], int offset, int length, int xCoor, int yCoor);• Array[], byte dizisi.Array[], byte dizisi.

Page 15: EDUTIME applet

APPLETAPPLET

import java.awt.*;import java.awt.*;import java.applet.*;import java.applet.*;import java.awt.event.*;import java.awt.event.*;public class applet3 extends Applet{public class applet3 extends Applet{

public void paint(Graphics g){public void paint(Graphics g){String str="Edutime Bilgi Akademisi";String str="Edutime Bilgi Akademisi";char ch[]={'a','c','a','d','e','m','y','.'};char ch[]={'a','c','a','d','e','m','y','.'};byte byt[]={65,66,67,68,69,70,71,72};byte byt[]={65,66,67,68,69,70,71,72};g.drawString(str,10,20);g.drawString(str,10,20);g.drawChars(ch,0,8,10,40);g.drawChars(ch,0,8,10,40);g.drawBytes(byt,3,4,10,60);g.drawBytes(byt,3,4,10,60);

}}}}

Page 16: EDUTIME applet

APPLETAPPLET

ÇizimlerÇizimler• DrawlineDrawline• drawOvaldrawOval• fillOvalfillOval• drawRectdrawRect• fillRectfillRect• drawRaundRectdrawRaundRect• fillRaundRectfillRaundRect• drawPolyLinedrawPolyLine

Page 17: EDUTIME applet

APPLETAPPLET drawLinedrawLine

• DrawLine(int x,int y,int w,int h)DrawLine(int x,int y,int w,int h) drawOvaldrawOval

• drawOval(int x,int y,int w, int h)drawOval(int x,int y,int w, int h) fillOvalfillOval

• fillOval(int x,int y, int w, int h)fillOval(int x,int y, int w, int h) drawRectdrawRect

• drawRect(int x,int y,int w, int h)drawRect(int x,int y,int w, int h) fillRectfillRect

• fillRect(int x, int y, int w, int h)fillRect(int x, int y, int w, int h) drawRaundRectdrawRaundRect

• drawRaundRect(int x,int y,int w, int h, int arcW, int arcH)drawRaundRect(int x,int y,int w, int h, int arcW, int arcH) fillRaundRectfillRaundRect

• fillRaundRect(int x,int y, int w, int h, int arcW,int arcH)fillRaundRect(int x,int y, int w, int h, int arcW,int arcH) drawPolyLinedrawPolyLine

• drawPolyLine(int xPoints[],int yPoints[],int length)drawPolyLine(int xPoints[],int yPoints[],int length)

Page 18: EDUTIME applet

APPLETAPPLETimport java.awt.*;import java.awt.*;import java.applet.*;import java.applet.*;public class applet4 extends Applet{public class applet4 extends Applet{

public void paint(Graphics g){public void paint(Graphics g){//çizgi çizme//çizgi çizme

g.setColor(Color.black);g.setColor(Color.black);

g.drawLine(10,10,200,10);g.drawLine(10,10,200,10);//oval çizme//oval çizme

g.setColor(Color.blue);g.setColor(Color.blue);

g.drawOval(250,250,100,50);g.drawOval(250,250,100,50);//içi dolu oval çizme//içi dolu oval çizme

g.setColor(Color.cyan);g.setColor(Color.cyan);

g.fillOval(10,100,100,50);g.fillOval(10,100,100,50);//dikdörtgen çizme//dikdörtgen çizme

g.setColor(Color.DARK_GRAY);g.setColor(Color.DARK_GRAY);

g.drawRect(10,200,100,50);g.drawRect(10,200,100,50);

//içi dolu dikdörtgen//içi dolu dikdörtgeng.setColor(Color.green);g.setColor(Color.green);g.fillRect(10,300,100,50);g.fillRect(10,300,100,50);

//kenarları yuvarlak dikdörtgen çizme//kenarları yuvarlak dikdörtgen çizme

g.setColor(Color.lightGray);g.setColor(Color.lightGray);

g.drawRoundRect(100,100,100,50,5,5g.drawRoundRect(100,100,100,50,5,5););//içi dolu, köşeleri yuvarlak dikdörtgen //içi dolu, köşeleri yuvarlak dikdörtgen çizmeçizme

Color c=new Color c=new Color(0,100,100);Color(0,100,100);

g.setColor(c);g.setColor(c);

g.fillRoundRect(20,10,100,50,5,5);g.fillRoundRect(20,10,100,50,5,5);

//çoklu çizgi çizme//çoklu çizgi çizmeint int

x[]={10,20,20,50,100};x[]={10,20,20,50,100};int int

y[]={10,10,70,50,100};y[]={10,10,70,50,100};g.setColor(Color.BLUE);g.setColor(Color.BLUE);

g.drawPolyline(x,y,5);g.drawPolyline(x,y,5);}}

}}

Page 19: EDUTIME applet

RenklerRenkler

ElemanEleman AralıkAralık

KırmızıKırmızı 0-2550-255

YeşilYeşil 0-2550-255

MaviMavi 0-2550-255

Page 20: EDUTIME applet

RGB DeğerleriRGB Değerleri

RenkRenk KırmızıKırmızı YeşilYeşil MaviMavi

BeyazBeyaz 255255 255255 255255

Açık GriAçık Gri 192192 192192 192192

GriGri 128128 128128 128128

Koyu GriKoyu Gri 6464 6464 6464

SiyahSiyah 00 00 00

PembePembe 255255 175175 175175

TuruncuTuruncu 255255 200200 00

SarıSarı 255255 255255 00

MürdümMürdüm 255255 00 255255

Page 21: EDUTIME applet

Color sınıfının sabitleriColor sınıfının sabitleri

color.whitecolor.white color.blackcolor.black

color.orangecolor.orange color.graycolor.gray

color.lightgraycolor.lightgray color.darkgraycolor.darkgray

color.redcolor.red color.greencolor.green

color.bluecolor.blue color.pinkcolor.pink

color.cyancolor.cyan color.magentacolor.magenta

color.yellowcolor.yellow

Page 22: EDUTIME applet

Font KontrolüFont Kontrolü

Font, metni farklı formatlarda Font, metni farklı formatlarda gösterir. Java.awt paketinin sağladığı gösterir. Java.awt paketinin sağladığı ‘Font’ sınıfı, çeşitli fontların ‘Font’ sınıfı, çeşitli fontların kullanımını sağlarkullanımını sağlar

Bir fontu kullanmadan önce, sistemin Bir fontu kullanmadan önce, sistemin onu destekleyip desteklemeğini onu destekleyip desteklemeğini kontrol etmemiz gerekir.kontrol etmemiz gerekir.

‘‘getAllFont()’ metodu, sistemin getAllFont()’ metodu, sistemin desteklediği tüm fontları döndürür.desteklediği tüm fontları döndürür.

Page 23: EDUTIME applet

Font KontrolüFont Kontrolü

import java.awt.*;import java.awt.*;import java.applet.*;import java.applet.*;public class applet5 extends Applet{public class applet5 extends Applet{

public void paint(Graphics g){public void paint(Graphics g){g.setColor(Color.BLUE);g.setColor(Color.BLUE);Font f=new Font("Times New Font f=new Font("Times New

Roman",Font.ITALIC,24);Roman",Font.ITALIC,24);g.setFont(f);g.setFont(f);g.drawString("Edutime",10,20);g.drawString("Edutime",10,20);

}}}}

Page 24: EDUTIME applet

Font KontrolüFont Kontrolü

import java.awt.*;import java.awt.*;import java.applet.*;import java.applet.*;import java.awt.GraphicsEnvironment;import java.awt.GraphicsEnvironment;public class applet6 extends Applet{public class applet6 extends Applet{

public void paint(Graphics g){public void paint(Graphics g){Font Font

f[]=GraphicsEnvironment.getLocalGraphicsEnvironment().gf[]=GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();etAllFonts();

int j=10;int j=10;for(int i=0;i<f.length;i++){for(int i=0;i<f.length;i++){

g.drawString(f[i].getFontName(),10,j);g.drawString(f[i].getFontName(),10,j);j+=10;j+=10;

}}}}

}}

Page 25: EDUTIME applet

Font KontrolüFont Kontrolü

FontMetric sınıfıFontMetric sınıfı

• HeightHeight• BaselineBaseline• AscentAscent• DescentDescent• LeadingLeading

Page 26: EDUTIME applet

Font KontrolüFont Kontrolü HeightHeight

• En uzun font karakterinin büyüklüğüdür.En uzun font karakterinin büyüklüğüdür. BaselineBaseline

• Karakterlerinin tabanlarının (alt çıkıntıları hariç) üzerine Karakterlerinin tabanlarının (alt çıkıntıları hariç) üzerine yerleştirildiği çizgi.yerleştirildiği çizgi.

AscentAscent• Taban çizgisinden karakterin üst üst kısmına kadar olan Taban çizgisinden karakterin üst üst kısmına kadar olan

uzaklık.uzaklık. DescentDescent

• Taban kısmından karakterin alt kısmına olan uzaklıkTaban kısmından karakterin alt kısmına olan uzaklık LeadingLeading

• Bir sonraki karakteri yerleştirmek için gerekli ek Bir sonraki karakteri yerleştirmek için gerekli ek boşluklar.boşluklar.

Page 27: EDUTIME applet

Font KontrolüFont Kontrolüimport java.awt.*;import java.awt.*;import java.applet.*;import java.applet.*;public class applet7 extends Applet{public class applet7 extends Applet{

public void paint(Graphics g){public void paint(Graphics g){Font f=new Font("Verdana",Font.BOLD,10);Font f=new Font("Verdana",Font.BOLD,10);String s="Academy Of Information Technologies";String s="Academy Of Information Technologies";FontMetrics fm=g.getFontMetrics(f);FontMetrics fm=g.getFontMetrics(f);g.setFont(f);g.setFont(f);g.drawString(s,20,10);g.drawString(s,20,10);g.drawString(String.valueOf(fm.getHeight()),20,30);g.drawString(String.valueOf(fm.getHeight()),20,30);g.drawString(String.valueOf(fm.getAscent()),20,50);g.drawString(String.valueOf(fm.getAscent()),20,50);g.drawString(String.valueOf(fm.getDescent()),20,70);g.drawString(String.valueOf(fm.getDescent()),20,70);g.drawString(String.valueOf(fm.getLeading()),20,90);g.drawString(String.valueOf(fm.getLeading()),20,90);

}}}}

Page 28: EDUTIME applet

Font KontrolüFont Kontrolü

Boyama ModuBoyama Modu• Nesneler boyama modu kümesi Nesneler boyama modu kümesi

kullanılarak çizilir, yeni bir nesne çizildiği kullanılarak çizilir, yeni bir nesne çizildiği zaman çizim nesneden önceki içeriğin zaman çizim nesneden önceki içeriğin üzerine yazılır. Benzer şekilde nesneler üzerine yazılır. Benzer şekilde nesneler tekrar tekrar çizildiği zaman, çizim tekrar tekrar çizildiği zaman, çizim nesnesinin önceki içeriği silinir. Sadece nesnesinin önceki içeriği silinir. Sadece yeni içerik gönderilir. Eski ve yeni içeriği yeni içerik gönderilir. Eski ve yeni içeriği görünür yapmak için ‘graphics’ sınıfı görünür yapmak için ‘graphics’ sınıfı setXORMode(Color c) metodunu sunar.setXORMode(Color c) metodunu sunar.

Page 29: EDUTIME applet

Font KontrolüFont Kontrolüimport java.awt.*;import java.awt.*;import java.applet.*;import java.applet.*;public class applet8 extends Applet{public class applet8 extends Applet{

public void paint(Graphics g){public void paint(Graphics g){g.setPaintMode();g.setPaintMode();g.setColor(Color.black);g.setColor(Color.black);g.fillRect(10,10,100,50);g.fillRect(10,10,100,50);g.setColor(Color.blue);g.setColor(Color.blue);g.fillRect(60,35,100,50);g.fillRect(60,35,100,50);

g.setXORMode(Color.magenta);g.setXORMode(Color.magenta);g.fillRect(10,150,100,50);g.fillRect(10,150,100,50);g.setXORMode(Color.yellow);g.setXORMode(Color.yellow);g.fillRect(60,175,100,50);g.fillRect(60,175,100,50);

}}}}