📄 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();
}
}