import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;


public class KareResimGalerisi {
	
	public KareResimGalerisi() {
		
		JFrame frame = new JFrame("Kare Resim Galerisi | Java Blackboard [130]");
		
		JPanel anapanel = new JPanel();
		anapanel.setLayout(null);
		anapanel.setBackground(new Color(160, 160, 160));
		anapanel.setBounds(0,0,1000,600);
		
		resimPaneliKlasor.setLayout(null);
		resimPaneliKlasor.setBackground(new Color(3, 38, 19)); //14, 34, 43));
		resimPaneliKlasor.setPreferredSize(new Dimension(945, 600));
		resimPaneliKlasor.setBounds(50,50,900,500);
		
		anapanel.add(resimPaneliKlasor);
		
		frame.add(anapanel);
		
		frame.setSize(1000,622);
		frame.setLayout(null);
		frame.setResizable(false);
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
    }

	// Resmin resimPaneli'ne eklenmesi.
	JPanel resimPaneliKlasor = new JPanel() {
		
	    @Override
	    protected void paintComponent(Graphics grafik) {
	    	
	    	super.paintComponent(grafik);
	    	
	    	String[] resimDosyasi = new String[20];
	    	
	    	resimDosyasi[0] = "resim-000.jpg";
	    	resimDosyasi[1] = "resim-001.jpg";
	    	resimDosyasi[2] = "resim-002.jpg";
	    	resimDosyasi[3] = "resim-003.jpg";
	    	resimDosyasi[4] = "resim-004.jpg";
	    	resimDosyasi[5] = "resim-005.jpg";
	    	resimDosyasi[6] = "resim-006.jpg";
	    	resimDosyasi[7] = "resim-007.jpg";
	    	resimDosyasi[8] = "resim-008.jpg";
	    	resimDosyasi[9] = "resim-009.jpg";
	    	resimDosyasi[10] = "resim-010.jpg";
	    	resimDosyasi[11] = "resim-011.jpg";
	    	resimDosyasi[12] = "resim-012.jpg";
	    	resimDosyasi[13] = "resim-013.jpg";
	    	resimDosyasi[14] = "resim-014.jpg";
	    	resimDosyasi[15] = "resim-015.jpg";
	    	resimDosyasi[16] = "resim-016.jpg";
	    	resimDosyasi[17] = "resim-017.jpg";
	    	resimDosyasi[18] = "resim-018.jpg";
	    	resimDosyasi[19] = "resim-019.jpg";
	    	
	    	int satir = -1;
	    	
	    	for (int i=0 ; i<20 ; i++) {
	    		
	    		if (i%5 == 0 || satir == -1) satir++;
	    		
	    		grafik.drawImage(kucukResim(resimDosyasi[i]), 0+((i%5)*181), satir*130, null);
	    		
	    		
	    		
	    	}
	    	        
	    }
	};
	
	public static Image kucukResim(String dosyaIsmi) {
		
		int oran = 9;
    	int yeniGenislik = 0; 
    	int yeniYukseklik = 0;
		
		ImageIcon imageIcon = new ImageIcon("src/images/" + dosyaIsmi);
    	Image image = imageIcon.getImage();
    	
    	int originalGenislik = image.getWidth(null);
    	int originalYukseklik = image.getHeight(null);
    	
    	System.out.print("Dosya : " + dosyaIsmi + " Orj. Boyut : " + originalGenislik + "x" + originalYukseklik);
    	
    	yeniGenislik = imageIcon.getIconWidth() * oran / 100;
    	yeniYukseklik = imageIcon.getIconHeight() * oran / 100;
    	
    	Image resimImageGaleri = imageIcon.getImage().getScaledInstance(yeniGenislik, yeniYukseklik, Image.SCALE_SMOOTH);
    	ImageIcon resimImageGaleriYeni = new ImageIcon(resimImageGaleri);
    
    	int kucukResimGenislik = resimImageGaleri.getWidth(null);
    	int kucukResimYukseklik = resimImageGaleri.getHeight(null);
    	
    	System.out.println(" -> %" + oran  + " Küçük Boyut : " + kucukResimGenislik + "x" + kucukResimYukseklik);
    	
    	return resimImageGaleri;
    
	}
	
    public static void main(String[] args) {
    	
        SwingUtilities.invokeLater(() -> new KareResimGalerisi());
        
    }
}