Kaydırma Çubuğu Uygulaması
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Scrollbar;
import java.awt.Image;
import java.awt.event.AdjustmentListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.AdjustmentEvent;
import java.awt.Label;
import javax.swing.JOptionPane;
//appleta düzenleyici dinleyicisi ekleniyor(kaydırma çubukları clasına ekleniyor)
public class KaydirmaCubuklari extends Applet implements AdjustmentListener {
Scrollbar YatayKaydir=new Scrollbar(); //yatay kaydırma nesnesi ekleniyor
Label BoyutYaz=new Label(); //Metin alanı ekleme
int YeniEn, YeniBoy, ResimEn, ResimBoy;
public void init() { // applet çalıştığında clasın çalışacak ilk fonksiyonu
setLayout(null); //elemanların yerleşim düzenini biz belirleyeceğiz
//kaydırma çubuğunun yatay oılduğunu belirliyor
YatayKaydir.setOrientation(YatayKaydir.HORIZONTAL);
YatayKaydir.setLocation(10, 10);
YatayKaydir.setSize(250, 20);
add(YatayKaydir);
//kaydırma çubuğunun dinleyicisi aktif ediliyor
YatayKaydir.addAdjustmentListener(this);
YatayKaydir.setValue(YatayKaydir.getMaximum()); //kaydırma çubuğunun başlangıç değeri
BoyutYaz.setLocation(280, 10);
BoyutYaz.setSize(20, 20);
add(BoyutYaz);
}
public void adjustmentValueChanged(AdjustmentEvent Tetikleyici){
//Boyut yaz etiketinin içerisine bu fonksiyonunu çağıran nesnenin değerini alıyoruz
BoyutYaz.setText(Integer.toString(Tetikleyici.getValue()));
//resmin maximum eni * kaydırma çubuğunun gelen değeri / kaydırma çubuğunu maxsimum değeri
YeniEn=(ResimEn*Tetikleyici.getValue())/YatayKaydir.getMaximum();
//resmin maximum boyu * kaydırma çubuğunun gelen değeri / kaydırma çubuğunu maxsimum değeri
YeniBoy=(ResimBoy*Tetikleyici.getValue())/YatayKaydir.getMaximum();
repaint(); //tetikleyiciden sonra paint fonksiyonunun yeniden çalıştırılıp resmin yeniden çizilmesi sağlanıyor
}
public void paint(Graphics Ekran){
//resim nesnesi oluşturuluyor belli bir adresten alınıyor
Image Resim=getImage(getDocumentBase(), "nergis.jpg");
//resmin eni ve boyu alınıyor
ResimEn=Resim.getWidth(this);
ResimBoy=Resim.getHeight(this);
//resmin yeni eni yoksa veya sıfırdan küçükse orjinal boyutunu al
YeniEn=(YeniEn<=0)?ResimEn:YeniEn;
YeniBoy=(YeniBoy<=0)?ResimBoy:YeniBoy;
//resmi çiz
Ekran.drawImage(Resim, 10, 30, YeniEn, YeniBoy, this);
}
}
Yorumunuzu Ekleyin