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
EDUTIMEEDUTIMEappletapplet
Day 7Day 7Serdar TÜRKELSerdar TÜRKEL
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.
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.
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.
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;
}}}}
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.
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.
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>
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
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.
APPLETAPPLET
Bir Appletin Yaşam döngüsü.Bir Appletin Yaşam döngüsü.
creation init
start
stopdestroy
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);}}
}}
APPLETAPPLET
Dizgi-Karakter ve Byte çizmeDizgi-Karakter ve Byte çizme• drawString()drawString()• drawChars()drawChars()• drawBytes()drawBytes()
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.
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);
}}}}
APPLETAPPLET
ÇizimlerÇizimler• DrawlineDrawline• drawOvaldrawOval• fillOvalfillOval• drawRectdrawRect• fillRectfillRect• drawRaundRectdrawRaundRect• fillRaundRectfillRaundRect• drawPolyLinedrawPolyLine
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)
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);}}
}}
RenklerRenkler
ElemanEleman AralıkAralık
KırmızıKırmızı 0-2550-255
YeşilYeşil 0-2550-255
MaviMavi 0-2550-255
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
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
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.
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);
}}}}
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;
}}}}
}}
Font KontrolüFont Kontrolü
FontMetric sınıfıFontMetric sınıfı
• HeightHeight• BaselineBaseline• AscentAscent• DescentDescent• LeadingLeading
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.
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);
}}}}
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.
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);
}}}}