import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.Random;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class NufusGrafik {

    public static JPanel panel;
  
    NufusGrafik() {
    	
    	String[] sehirler = { "Afyonkarahisar",  "Isparta", "Antalya", "Adıyaman", "Elazig", "Kahramanmaraş", "Hatay", "Muğla", "Diyarbakır"};
    	int[] nufuslar =    {  747554,           445325,    2688004,   635169,     591497,   1177436,         1686043, 1048185, 1804880};
       
    	Color[] barRenk = new Color[sehirler.length];
    	
 //    	barRenk[0] = new Color(33, 22, 44);
    	
    	Random r = new Random();
    	
    	for (int i = 0; i < sehirler.length ; i++) {
    	    
    		barRenk[i] = new Color(r.nextInt(256), r.nextInt(256), r.nextInt(256));
    		System.out.println(sehirler[i] + " : " + barRenk[i]);
    	    System.out.println(sehirler[i] + " : " + barRenk[i].toString().replace("java.awt.Color", "Color"));
    	    System.out.println(sehirler[i] + " : Color(" + barRenk[i].getRed() + ", " + barRenk[i].getGreen() + ", " + barRenk[i].getBlue() + ")");
    	    System.out.println();

    	
    	}
    	
    	
    	JFrame frame = new JFrame("Il/Nüfus Grafiği | Java Blackboard [114]");

        panel = new JPanel() {
            
        	@Override
            protected void paintComponent(Graphics grafik) {
               
            	Graphics2D grafik2D = (Graphics2D) grafik;

                int genislik = getWidth()-50;  // frame'in genisligini alir.
                int yukseklik = getHeight();   // frame'in yuksekligini alir

                int barGenislik = genislik / (sehirler.length * 2);
                int maxNufus = Integer.MIN_VALUE;  // 
                System.out.println("Integer.MIN_VALUE = " + maxNufus);

                // Nüfus dizisindeki en yuksek nüfusu buluyoruz.
                for (int i = 0; i < nufuslar.length; i++) {
                   
                	if (nufuslar[i] > maxNufus) {
                    	maxNufus = nufuslar[i];
                    }
                	
                }

                for (int i = 0; i < sehirler.length; i++) {
                    
                	int barHeight = (int) (((double) nufuslar[i] / (double) maxNufus) * yukseklik * 0.8);
                    
                	int x = i * (barGenislik * 2) + barGenislik;
                    int y = yukseklik - barHeight - 50;

                    grafik2D.setColor(barRenk[i]);
                    grafik2D.fillRect(x, y, barGenislik, barHeight);

                 // Yeni bir font oluştur
                    Font font = new Font("Ubuntu", Font.BOLD, 17);
                 // Fontu ayarla
                    grafik2D.setFont(font);
                    
                    grafik2D.setColor(Color.BLUE);  // Yazi rengi
                    grafik2D.drawString(sehirler[i], x, yukseklik - 25);
                    
                    
                    grafik2D.setColor(Color.BLACK);  // Nüfus rengi
                    grafik2D.drawString(String.valueOf(nufuslar[i]), x, y - 5);
                }
            }
        };
        
        
        frame.add(panel);

        
        frame.setSize(1200, 700);
        frame.setLocationRelativeTo(null);
    	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	frame.setVisible(true);

    }

    public static void main(String[] args) {
    	
         new NufusGrafik();
    }
}
