12 Mayıs 2016 Perşembe

Javada Resim Ekleme

Java’da swing ile basit bir resim galerisi gerçekleştireceğiz. Bu uygulama ile pencerelerde resimlerle çalışmaya giriş yapmış olacağız. Önceki bir makale olan örnek veritabanı uygulamasında kişileri bir tabloda tutuyor ve klasik ekle/sil/güncelle işlemleri yapıyorduk. Bir yorumcu arkadaş uygulamada kişilerin resimlerini de göstermek istediğini belirtince bu makaleyi hazırlamaya karar verdim.



Gördüğünü gibi sol üst köşeye bir JLabel aşağıya da 5 adet JButton yerleştirmeniz yeterli. Bunu nasıl yapacağınızı bilmiyorsanız öncelikle bu makaleyi çalışmanız gerekecek. İlk butonu çizip sonrakileri kopyala yapıştır yaparsanız tüm butonlarınız aynı boyutta olur. Bu arada isimlerini değiştirmeyi ve güzel isimler vermeyi unutmayın.
Şimdi geçelim uygulamanın kodlarına:
Resimlerin dosya yollarını static String olarak en başta tanımlamak bizi kodun geri kalanında zahmetten kurtaracaktır:

Butonların ismini yaptıkları işle alakalı olarak değiştirmiş olduğuma dikkat edin.
Aşağıdaki metod ise JLabel nesnemizde, dosya yolu verilen resmin görünmesini sağlıyor.
package tr.org.hmyo.semen.ui;

import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.LayoutManager;

import javax.swing.ImageIcon;
import javax.swing.JPanel;

public class ArkaPlanGui extends JPanel {

 public ArkaPlanGui(LayoutManager l) {
  // TODO Auto-generated constructor stub
 
  super.setLayout(l);
 }

 @Override
 protected void paintComponent(Graphics g) {
  // TODO Auto-generated method stub
  super.paintComponent(g);
 
  Image image = new ImageIcon("img/AGT.jpg").getImage();
 
 
  int baslangicx=0;
  int baslangicy=0;
 
  int bitisx= getSize().width;
  int bitisy= getSize().height;
 
  g.drawImage(image, baslangicx, baslangicy,bitisx,bitisy, null);
 
 }

}

resim projemizin içine atıldı görünür olması için ...

 AnaPencereGui sınıfına ekleyelım

public class AnaPencereGui extends JFrame implements PencereIfc{

 ArkaPlanGui arkaplan = new ArkaPlanGui(new BorderLayout());


 anaJPanel.add(arkaplan);

Hiç yorum yok:

Yorum Gönder