📄 BorderLayoutAyTakvimi.java .java dosyası
⬇️ İndir
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
/**
Java Blackbourd YouTube kanali.
Ders : 054
BorderLayout ve GridLayout kullanimi
Takvim görüntüsü düzenleme örnegi.
*/
public class BorderLayoutAyTakvimi extends JFrame implements ActionListener {
String[] liste = {"Boş...", "OCAK 2022 (6X7)", "ŞUBAT 2022 (6X7)", "MART 2022 (6X7)", "NİSAN 2022 (6X7)"};
JComboBox comboListe = new JComboBox(liste);
JLabel label = new JLabel("Boş...");
JPanel panel = new JPanel();
public BorderLayoutAyTakvimi() {
setLayout(new BorderLayout());
comboListe.setSelectedIndex(0);
comboListe.addActionListener(this);
label.setVerticalAlignment(JLabel.CENTER);
label.setHorizontalAlignment(JLabel.CENTER);
label.setFont(new Font("Verdana", Font.BOLD, 59));
label.setPreferredSize(new Dimension(150, 150));
add(comboListe, BorderLayout.NORTH);
add(label, BorderLayout.SOUTH);
add(panel, BorderLayout.CENTER);
setSize(1024, 768);
setTitle("OCAK 2022 Takvim görünümü. Java Blackboard [ 054 ]");
setLocationRelativeTo(null); // Ekran ortasina ortalar.
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == comboListe) {
Random r = new Random();
String kelime = "";
JComboBox cb = (JComboBox) e.getSource();
String madde = (String) cb.getSelectedItem();
switch (madde) {
case "OCAK 2022 (6X7)" :
label.setText("OCAK 2022");
panel.removeAll();
panel.setLayout(new GridLayout(6,7));
for(int i=1; i<=42 ; i++) {
panel.add(pastelRenkliPanel(i, 202201, ""));
}
add(panel);
revalidate();
break;
case "ŞUBAT 2022 (6X7)" :
label.setText("ŞUBAT 2022 (6X7)");
panel.removeAll();
panel.setLayout(new GridLayout(6,7));
add(panel);
revalidate();
break;
case "MART 2022 (6X7)" :
label.setText("MART 2022 (6X7)");
panel.removeAll();
panel.setLayout(new GridLayout(6,7));
add(panel);
revalidate();
break;
case "NİSAN 2022 (6X7)" :
label.setText("NİSAN 2022 (6X7)");
panel.removeAll();
panel.setLayout(new GridLayout(6,7));
add(panel);
revalidate();
break;
default :
label.setText("Olmayan bi'madde seçildi...");
panel.removeAll();
panel.setLayout(new GridLayout(6,7));
for(int i=1; i<=42 ; i++) {
panel.add(pastelRenkliPanel(i, -1, ""));
}
add(panel);
revalidate();
}
}
}
public static JPanel pastelRenkliPanel(int sayi, int harf, String kelime) {
char yatay = '\u2550'; // ═
char dikey = '\u2551'; // ║
char kose1 = '\u2554'; // ╔
char kose2 = '\u2557'; // ╗
char kose3 = '\u255A'; // ╚
char kose4 = '\u255D'; // ╝
Random r = new Random();
JLabel label = new JLabel();
if (harf == 0) {
label.setText(""+sayi);
}
if (harf == 202201) {
if (sayi <= 5) label.setText("");
if (sayi >= 6) label.setText(""+(sayi-5));
if (sayi >= 37) label.setText("");
}
if (harf == -1) {
label.setText("");
}
if (harf == 5) {
char a = kelime.charAt(0);
char b = kelime.charAt(1);
char c = kelime.charAt(2);
char d = kelime.charAt(3);
char e = kelime.charAt(4);
if (sayi == 1) label.setText(""+kose1);
if (sayi >= 2 && sayi <=8) label.setText(""+yatay);
if (sayi == 10 || sayi == 19 || sayi == 28) label.setText(""+dikey);
if (sayi == 18 || sayi == 27 || sayi == 36) label.setText(""+dikey);
if (sayi == 9) label.setText(""+kose2);
if (sayi == 37) label.setText(""+kose3);
if (sayi == 45) label.setText(""+kose4);
if (sayi == 21) label.setText(""+a);
if (sayi == 22) label.setText(""+b);
if (sayi == 23) label.setText(""+c);
if (sayi == 24) label.setText(""+d);
if (sayi == 25) label.setText(""+e);
if (sayi >= 38 && sayi <=44) label.setText(""+yatay);
}
Color[] renkler = new Color[20];
renkler[0] = new Color(242, 182, 128);
renkler[1] = new Color(217, 206, 197);
renkler[2] = new Color(255, 212, 218);
renkler[3] = new Color(236, 255, 195);
renkler[4] = new Color(164, 242, 255);
renkler[5] = new Color(206, 232, 205);
renkler[6] = new Color(180, 200, 230);
renkler[7] = new Color(240, 219, 178);
renkler[8] = new Color(169, 217, 217);
renkler[9] = new Color(248, 200, 255);
renkler[10] = new Color(170, 179, 191);
renkler[11] = new Color(242, 212, 194);
renkler[12] = new Color(191, 189, 186);
renkler[13] = new Color(186, 242, 160);
renkler[14] = new Color(242, 206, 230);
renkler[15] = new Color(226, 200, 227);
renkler[16] = new Color(232, 255, 230);
renkler[17] = new Color(232, 225, 255);
renkler[18] = new Color(207, 180, 221);
renkler[19] = new Color(0, 59, 6); // yesil, label rengi olarak kullandik.
JPanel panel = new JPanel();
panel.setLayout(new GridLayout());
panel.setBackground(renkler[r.nextInt(19)]); // 18 e kadar olan renkler[] kullanilir
label.setForeground(renkler[19]); // yesil renk
label.setVerticalAlignment(JLabel.CENTER);
label.setHorizontalAlignment(JLabel.CENTER);
label.setFont(new Font("Verdana", Font.BOLD, 72));
label.setPreferredSize(new Dimension(150, 150));
// label.setBounds(10,10,100,50);
panel.add(label);
return panel;
}
}