📄 SecmeliNufusGrafik.java .java dosyası

⬇️ İndir
import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.Random; import javax.swing.BorderFactory; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.border.LineBorder; import javax.swing.border.TitledBorder; public class SecmeliNufusGrafik { public static JPanel anapanel; public static String[] sehirler = new String[9]; public static int[] nufuslar = new int[9]; public SecmeliNufusGrafik() { JFrame frame = new JFrame("Karşılaştırmalı Nüfus Grafikleri | Java Blackboard [115]"); anapanel = new JPanel(); anapanel.setLayout(null); anapanel.setBackground(new Color(140, 100, 140)); anapanel.setBounds(15,15,770,470); anapanel.add(infoPaneli(0,4,2,5)); anapanel.add(grafikPaneli(0,4,2,5)); frame.add(anapanel); frame.setSize(800,530); frame.setLayout(null); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setResizable(true); frame.setVisible(true); } public static JPanel infoPaneli(int sehir1, int sehir2, int sehir3, int sehir4) { JPanel panel = new JPanel(); panel.setLayout(null); panel.setBorder(new TitledBorder("Info Paneli")); panel.setBackground(new Color(242, 220, 242)); panel.setBounds(15,15,250,440); LineBorder labelCerceve = new LineBorder(Color.black); sehirler[0] = "Afyonkarahisar"; sehirler[1] = "Isparta"; sehirler[2] = "Antalya"; sehirler[3] = "Adıyaman"; sehirler[4] = "Elazığ"; sehirler[5] = "Kahramanmaraş"; sehirler[6] = "Hatay"; sehirler[7] = "Muğla"; sehirler[8] = "Diyarbakır"; nufuslar[0] = 747554; nufuslar[1] = 445325; nufuslar[2] = 2688004; nufuslar[3] = 635169; nufuslar[4] = 591497; nufuslar[5] = 1177436; nufuslar[6] = 1686043; nufuslar[7] = 1048185; nufuslar[8] = 1804880; int x = 25; int y = 25; int w = 200; int h = 30; int f = 15; JComboBox cb1 = new JComboBox(sehirler); cb1.setSelectedIndex(sehir1); JLabel lb1 = new JLabel(""+nufuslar[cb1.getSelectedIndex()]); lb1.setBorder(new TitledBorder(BorderFactory.createTitledBorder(labelCerceve, (String) cb1.getSelectedItem()))); JComboBox cb2 = new JComboBox(sehirler); cb2.setSelectedIndex(sehir2); JLabel lb2 = new JLabel(""+nufuslar[cb2.getSelectedIndex()]); lb2.setBorder(new TitledBorder(BorderFactory.createTitledBorder(labelCerceve, (String) cb2.getSelectedItem()))); JComboBox cb3 = new JComboBox(sehirler); cb3.setSelectedIndex(sehir3); JLabel lb3 = new JLabel(""+nufuslar[cb3.getSelectedIndex()]); lb3.setBorder(new TitledBorder(BorderFactory.createTitledBorder(labelCerceve, (String) cb3.getSelectedItem()))); JComboBox cb4 = new JComboBox(sehirler); cb4.setSelectedIndex(sehir4); JLabel lb4 = new JLabel(""+nufuslar[cb4.getSelectedIndex()]); lb4.setBorder(new TitledBorder(BorderFactory.createTitledBorder(labelCerceve, (String) cb4.getSelectedItem()))); cb1.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent arg0) { int secilen_1 = cb1.getSelectedIndex(); int secilen_2 = cb2.getSelectedIndex(); int secilen_3 = cb3.getSelectedIndex(); int secilen_4 = cb4.getSelectedIndex(); anapanel.removeAll(); anapanel.add(infoPaneli(secilen_1,secilen_2,secilen_3,secilen_4)); anapanel.add(grafikPaneli(secilen_1,secilen_2,secilen_3,secilen_4)); anapanel.revalidate(); anapanel.repaint(); } }); cb2.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent arg0) { int secilen_1 = cb1.getSelectedIndex(); int secilen_2 = cb2.getSelectedIndex(); int secilen_3 = cb3.getSelectedIndex(); int secilen_4 = cb4.getSelectedIndex(); anapanel.removeAll(); anapanel.add(infoPaneli(secilen_1,secilen_2,secilen_3,secilen_4)); anapanel.add(grafikPaneli(secilen_1,secilen_2,secilen_3,secilen_4)); anapanel.revalidate(); anapanel.repaint(); } }); cb3.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent arg0) { int secilen_1 = cb1.getSelectedIndex(); int secilen_2 = cb2.getSelectedIndex(); int secilen_3 = cb3.getSelectedIndex(); int secilen_4 = cb4.getSelectedIndex(); anapanel.removeAll(); anapanel.add(infoPaneli(secilen_1,secilen_2,secilen_3,secilen_4)); anapanel.add(grafikPaneli(secilen_1,secilen_2,secilen_3,secilen_4)); anapanel.revalidate(); anapanel.repaint(); } }); cb4.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent arg0) { int secilen_1 = cb1.getSelectedIndex(); int secilen_2 = cb2.getSelectedIndex(); int secilen_3 = cb3.getSelectedIndex(); int secilen_4 = cb4.getSelectedIndex(); anapanel.removeAll(); anapanel.add(infoPaneli(secilen_1,secilen_2,secilen_3,secilen_4)); anapanel.add(grafikPaneli(secilen_1,secilen_2,secilen_3,secilen_4)); anapanel.revalidate(); anapanel.repaint(); } }); cb1.setBounds(x, y, w, h); y = y + h + f; lb1.setBounds(x, y, w, h+15); y = y + h + f + 15; cb2.setBounds(x, y, w, h); y = y + h + f; lb2.setBounds(x, y, w, h+15); y = y + h + f + 15; cb3.setBounds(x, y, w, h); y = y + h + f; lb3.setBounds(x, y, w, h+15); y = y + h + f + 15; cb4.setBounds(x, y, w, h); y = y + h + f; lb4.setBounds(x, y, w, h+15); panel.add(cb1); panel.add(lb1); panel.add(cb2); panel.add(lb2); panel.add(cb3); panel.add(lb3); panel.add(cb4); panel.add(lb4); return panel; } public static JPanel grafikPaneli(int sehir1, int sehir2, int sehir3, int sehir4) { JPanel panel = new JPanel() { protected void paintComponent(Graphics grafik) { super.paintComponent(grafik); Graphics2D grafik2D = (Graphics2D) grafik; int[] secilenler = new int[4]; secilenler[0] = nufuslar[sehir1]; secilenler[1] = nufuslar[sehir2]; secilenler[2] = nufuslar[sehir3]; secilenler[3] = nufuslar[sehir4]; String[] secilenler_sehir = new String[4]; secilenler_sehir[0] = sehirler[sehir1]; secilenler_sehir[1] = sehirler[sehir2]; secilenler_sehir[2] = sehirler[sehir3]; secilenler_sehir[3] = sehirler[sehir4]; int genislik = getWidth(); // Panelin genisligi int yukseklik = getHeight(); // panelin yuksekligi int barGenislik = genislik/((secilenler.length*2)+1); int maxNufus = Integer.MIN_VALUE; Random r = new Random(); Color[] barRenk = new Color[secilenler.length]; for(int i = 0; i<secilenler.length; i++) { barRenk[i] = new Color(r.nextInt(130)+125, r.nextInt(130)+125, r.nextInt(130)+125); } for(int i = 0; i<secilenler.length; i++) { if(secilenler[i]>maxNufus) { maxNufus = secilenler[i]; } } for(int i = 0; i<secilenler.length; i++) { int barYukseklik = (int) (((double) secilenler[i]/(double) maxNufus)*yukseklik*0.8); int x = i*(barGenislik*2)+barGenislik; int y = yukseklik-barYukseklik-50; // 700 - 500 - 50 = 150 grafik2D.setColor(barRenk[i]); grafik2D.fillRect(x, y, barGenislik, barYukseklik); Font font = new Font("Ubuntu", Font.BOLD, 17); grafik2D.setFont(font); grafik2D.drawString(secilenler_sehir[i], x, yukseklik-25); grafik2D.drawString(secilenler[i]+"", x, y-5); } } }; panel.setLayout(null); panel.setBorder(new TitledBorder("Grafik Paneli")); panel.setBackground(new Color(17, 32, 38)); panel.setBounds(280,15,475,440); return panel; } public static void main(String[] args) { SwingUtilities.invokeLater(() -> { new SecmeliNufusGrafik(); }); } }