BİLGİ SAYAMIYORUM beta

Java da, bir görsel/resim, JFrame ve ImageIO ile nasıl gösterilir?

0

Java da bir uygulama içinde görsel göstermenin fazlaca yöntemi mevcut. ImageIO kütüphanesi ile gösterirken bile, yerleştirilecek yere göre yöntemi çeşitlendirmeniz de mümkün. Bu yüzden Java'daki diğer örneklerde olduğu gibi kod olduğu gibi çalışıyor olsa da, başlangıç olarak yaklaşım konusunda fikir edindirmesi için tavsiye ediyorum. Temel olarak kütüphaneleri çağırdıktan sonra bir sınıf oluşturuyoruz, bunun içinde aynı isimdeki metodun içinde görseli bir sabite atıyoruz ve ardından bunu çizdiyoruz. Main metodu içinde de bunu uygulamanın içindeki panelde görünür yapıyoruz:

import java.awt.Graphics;
import java.awt.Panel;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
public class ResimGoster extends Panel {

     private static final long serialVersionUID = 1L;
     private BufferedImage gorsel;

     public ResimGoster(String gorselyolu) {
          try {
               gorsel = ImageIO.read(new File(gorselyolu));
          } catch (IOException ie) {
               ie.printStackTrace();
          }
     }

     public void paint(Graphics g) {
          g.drawImage(gorsel, 0, 0, null);
     }

     static public void main(String args[]) throws Exception {
          JFrame cerceve = new JFrame("ResimGoster.java");
          Panel ekran = new ResimGoster(args[0]);
          cerceve.getContentPane().add(ekran);
          cerceve.setSize(800, 640);
          cerceve.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          cerceve.setVisible(true);
     }
}

"gorsel" adındaki görsel değişkenine "gorselyolu" adresinde yer alan yerden dosyayı atıyoruz. Sonra bunu çizdirip, ekrana basıyoruz. Bu yöntemi biraz daha basitleştirmek mümkün gramer olarak ama yaptığımız işlemler hemen hemen hep aynı kalacaktır. Daha basitçe ama parçalayarak anlatırsak, mesela bir URL den, görseli aldığımızı düşünelim, şöyle:

Image gorsel = null;
URL adres = new URL("http://www.bilgisayamiyorum.com/images/logo.jpg");
gorsel = ImageIO.read(adres);

Daha sonra yeni çerçeve, görseli taşıyan bir "label" ve tüm içerik için yeni bir panel açayoruz. "Label"i panele, panelin kendisini de uygulamanın ana görüntü aktarıcısı olan çerçeveye koyuyoruz:

JFrame cerceve = new JFrame();
JLabel resimGosterici = new JLabel(new ImageIcon(gorsel));
JPanel anapanel = new JPanel(new BorderLayout());

anapanel.add(resimGosterici);
cerceve.add(anapanel);

Sonra bu çerçevenin önceki örnekte olduğu gibi genel özelliklerini belirliyoruz:

cerceve.setSize(800, 640);
cerceve.setVisible(true);

Dediğim gibi başka görsel ekleme yöntemleri ya da kütüphaneleri de mevcut. 

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER