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