📄 BorderLayoutSehirResimleri.java .java dosyası

⬇️ İndir
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; public class BorderLayoutSehirResimleri { public static JFrame frame; public static JPanel panelMerkez; public static JPanel panelDogu; public BorderLayoutSehirResimleri() { frame = new JFrame("BorderLayout Sehir Resimleri JScrollPane | Java Blackboard [122]"); BorderLayout borderLayout = new BorderLayout(); borderLayout.setHgap(15); borderLayout.setVgap(15); frame.setLayout(borderLayout); JPanel panelKuzey = new JPanel(); panelKuzey.setPreferredSize(new Dimension(100, 100)); panelKuzey.setBackground(new Color(75, 191, 115)); panelKuzey.add(baslikPaneli()); JPanel panelGuney = new JPanel(); panelGuney.setPreferredSize(new Dimension(50, 50)); panelGuney.setBackground(new Color(175, 191, 115)); panelDogu = new JPanel(); panelDogu.setLayout(new FlowLayout()); panelDogu.setPreferredSize(new Dimension(250, 250)); panelDogu.setBackground(new Color(217, 94, 50)); JPanel panelBati = new JPanel(); panelBati.setPreferredSize(new Dimension(190, 10)); panelBati.setBackground(new Color(245, 222, 131)); panelBati.add(butonPaneli()); JLabel labelInfo = new JLabel("Sehir Bilgileri"); JLabel labelResim = new JLabel("Sehir Fotografi"); panelMerkez = new JPanel(); // PanelMerkez JPanel'inin boyutunu ayarlayalım panelMerkez.setPreferredSize(new Dimension(550, 600)); // İstediğiniz boyutu verebilirsiniz panelMerkez.setLayout(new FlowLayout()); panelMerkez.setBackground(new Color(242, 184, 75)); panelMerkez.add(labelInfo); panelDogu.add(labelResim); // JScrollPane'i oluşturup panelMerkez'e ekleyelim JScrollPane scrollPane = new JScrollPane(panelMerkez); scrollPane.setPreferredSize(panelMerkez.getPreferredSize()); // Boyutları eşleştirelim // JScrollPane'in taşma davranışını ayarlayalım scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); frame.add(panelKuzey, BorderLayout.NORTH); frame.add(panelGuney, BorderLayout.SOUTH); frame.add(panelDogu, BorderLayout.EAST); frame.add(panelBati, BorderLayout.WEST); // frame.add(panelMerkez, BorderLayout.CENTER); // JScrollPane'i frame'e ekleyin frame.add(scrollPane, BorderLayout.CENTER); frame.setSize(1024, 768); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setResizable(true); frame.setVisible(true); } public static JPanel baslikPaneli() { int genislik = 700; JPanel panel = new JPanel(); panel.setLayout(new FlowLayout()); panel.setPreferredSize(new Dimension(genislik, 100)); // Panelin arka plan rengini saydam yapalim. panel.setOpaque(false); JLabel label = new JLabel(); label.setFont(new Font("Helvetica", Font.BOLD, 50)); label.setPreferredSize(new Dimension(genislik, 100)); label.setText("Sehirler Info"); // Yatay ve dikey hizalamayı ayarla label.setHorizontalAlignment(JLabel.CENTER); label.setVerticalAlignment(JLabel.CENTER); panel.add(label); return panel; } public static JPanel butonPaneli() { JPanel panel = new JPanel(); panel.setLayout(new FlowLayout()); panel.setPreferredSize(new Dimension(190, 500)); panel.setOpaque(false); // Zemin rengini transparan yap. JButton butonIstanbul = new JButton("Istanbul"); butonIstanbul.setSize(100, 25); JButton butonAfyon = new JButton("Afyonkarahisar"); butonAfyon.setSize(100, 25); JButton butonAnkara = new JButton("Ankara"); butonAnkara.setSize(100, 25); panel.add(butonIstanbul); panel.add(butonAfyon); panel.add(butonAnkara); butonIstanbul.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { panelDogu.removeAll(); panelDogu.add(sehirFotografi("istanbul.jpg")); panelDogu.revalidate(); panelMerkez.removeAll(); // JFrame'in arka plan rengini degistirmek istersek. // Color bordoRGB = new Color(115, 23, 2); // frame.getContentPane().setBackground(bordoRGB); // Merkez bölgesinin arka plan rengini mavi yap Color maviRGB = new Color(48, 155, 222); panelMerkez.setBackground(maviRGB); panelMerkez.add(sehirIsmi("Istanbul")); panelMerkez.add(sehirPlakaKod("34", "(212) (216)")); panelMerkez.add(sehirNufus("15.907.951")); panelMerkez.add(sehirYuzolcumu("5,461 km²")); panelMerkez.add(sehirIlceSayisi("39")); panelMerkez.revalidate(); // Merkez Panel yeniden cagiriliyor. } }); butonAfyon.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { panelDogu.removeAll(); panelDogu.add(sehirFotografi("afyonkarahisar.jpg")); panelDogu.revalidate(); panelMerkez.removeAll(); // JFrame'in arka plan rengini degistirmek istersek. Color sariRGB = new Color(242, 190, 92); // frame.getContentPane().setBackground(sariRGB); // Merkez bölgesinin arka plan rengini yesil yap Color yesilRGB = new Color(48, 140, 88); panelMerkez.setBackground(yesilRGB); panelMerkez.add(sehirIsmi("Afyonkarahisar")); panelMerkez.add(sehirPlakaKod("03", "(272)")); panelMerkez.add(sehirNufus("747.555")); panelMerkez.add(sehirYuzolcumu("14.230,00 km²")); panelMerkez.add(sehirIlceSayisi("17")); panelMerkez.revalidate(); } }); butonAnkara.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { panelDogu.removeAll(); panelDogu.add(sehirFotografi("ankara.jpg")); panelDogu.revalidate(); panelMerkez.removeAll(); // JFrame'in arka plan rengini degistirmek istersek. Color sariRGB = new Color(242, 190, 92); // frame.getContentPane().setBackground(sariRGB); // Merkez bölgesinin arka plan rengini Kirmizimsi yap Color kirmizimsiRGB = new Color(242, 93, 7); panelMerkez.setBackground(kirmizimsiRGB); panelMerkez.add(sehirIsmi("Ankara")); panelMerkez.add(sehirPlakaKod("06", "(312)")); panelMerkez.add(sehirNufus("5.782.285")); panelMerkez.add(sehirYuzolcumu("25.706,00 km²")); panelMerkez.add(sehirIlceSayisi("25")); panelMerkez.revalidate(); } }); return panel; } public static JPanel sehirIsmi(String sehirAd) { JPanel panel = new JPanel(); panel.setPreferredSize(new Dimension(540, 100)); panel.setBackground(new Color(204, 234, 252)); // panel.setOpaque(false); JLabel label = new JLabel(); label.setFont(new Font("Helvetica", Font.BOLD, 70)); label.setPreferredSize(new Dimension(540, 100)); label.setText(sehirAd); // Yatay ve dikey hizalamayı ayarla label.setHorizontalAlignment(JLabel.CENTER); label.setVerticalAlignment(JLabel.CENTER); panel.add(label); return panel; } public static JPanel sehirPlakaKod(String plaka, String telefonKodu) { JPanel panel = new JPanel(); panel.setPreferredSize(new Dimension(540, 100)); panel.setBackground(new Color(221, 252, 204)); // panel.setOpaque(false); JLabel label = new JLabel(); label.setFont(new Font("Helvetica", Font.BOLD, 70)); label.setPreferredSize(new Dimension(540, 100)); label.setText(plaka + " - " + telefonKodu); // Yatay ve dikey hizalamayı ayarla label.setHorizontalAlignment(JLabel.CENTER); label.setVerticalAlignment(JLabel.CENTER); panel.add(label); return panel; } public static JPanel sehirNufus(String sehirPopulasyon) { JPanel panel = new JPanel(); panel.setPreferredSize(new Dimension(540, 100)); panel.setBackground(new Color(252, 232, 204)); // panel.setOpaque(false); JLabel label = new JLabel(); label.setFont(new Font("Helvetica", Font.BOLD, 90)); label.setPreferredSize(new Dimension(540, 100)); label.setText(sehirPopulasyon); // Yatay ve dikey hizalamayı ayarla label.setHorizontalAlignment(JLabel.CENTER); label.setVerticalAlignment(JLabel.CENTER); panel.add(label); return panel; } public static JPanel sehirYuzolcumu(String sehirAlan) { JPanel panel = new JPanel(); panel.setPreferredSize(new Dimension(540, 100)); panel.setBackground(new Color(252, 217, 252)); // panel.setOpaque(false); JLabel label = new JLabel(); label.setFont(new Font("Helvetica", Font.BOLD, 80)); label.setPreferredSize(new Dimension(540, 100)); label.setText(sehirAlan); // Yatay ve dikey hizalamayı ayarla label.setHorizontalAlignment(JLabel.CENTER); label.setVerticalAlignment(JLabel.CENTER); panel.add(label); return panel; } public static JPanel sehirIlceSayisi(String sehirIlce) { JPanel panel = new JPanel(); panel.setPreferredSize(new Dimension(540, 100)); panel.setBackground(new Color(253, 244, 231)); // panel.setOpaque(false); JLabel label = new JLabel(); label.setFont(new Font("Helvetica", Font.BOLD, 100)); label.setPreferredSize(new Dimension(540, 100)); label.setText(sehirIlce); // Yatay ve dikey hizalamayı ayarla label.setHorizontalAlignment(JLabel.CENTER); label.setVerticalAlignment(JLabel.CENTER); panel.add(label); return panel; } public static JLabel sehirFotografi(String resimDosyasi) { // ImageIcon ile resmi yükleyin ImageIcon imageIcon = new ImageIcon("src/images/" + resimDosyasi); // ImageIcon'i JLabel içinde gösteren bir JLabel oluşturun JLabel label = new JLabel(imageIcon); // Eğer resmi JLabel içinde boyutlandırmak istiyorsanız, aşağıdaki kodu kullanabilirsiniz: // Bizim örnegimizde boyutlandirmaya gerek duymuyoruz. // Görüntü yeterli. // label.setPreferredSize(new Dimension(100, 100)); // Genişlik ve yükseklik ayarları return label; } public static void main(String[] args) { new BorderLayoutSehirResimleri(); } }