📄 BorderLayoutUcBesHarf.java .java dosyası
⬇️ İndir
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
public class BorderLayoutUcBesHarf extends JFrame implements ActionListener {
String[] liste = {"Boş...", "Grid 3X5", "Grid 5X9", "3 harf", "5 harf"};
JComboBox comboListe = new JComboBox(liste);
JLabel label = new JLabel("Boş...");
JPanel panel = new JPanel();
public BorderLayoutUcBesHarf() {
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("Pastel renkler ve paneller. 053");
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 "Grid 3X5" :
label.setText("GridLayout 3 x 5 seçildi...");
panel.removeAll();
panel.setLayout(new GridLayout(3,5));
for(int i=1; i<16 ; i++) {
panel.add(pastelRenkliPanel(i, 0, ""));
}
add(panel);
revalidate();
break;
case "Grid 5X9" :
label.setText("GridLayout 5 x 9 seçildi...");
panel.removeAll();
panel.setLayout(new GridLayout(5,9));
for(int i=1; i<46 ; i++) {
panel.add(pastelRenkliPanel(i, 0, ""));
}
add(panel);
revalidate();
break;
case "3 harf" :
String[] ucHarf = {"MUM", "ÂLÂ", "ELA", "BJK", "ECE", "GAM", "DAĞ", "ÇÖL", "AÇI", "ÇAĞ"};
kelime = ucHarf[r.nextInt(10)];
label.setText("3 harf seçildi...");
panel.removeAll();
panel.setLayout(new GridLayout(3,5));
for(int i=1; i<16 ; i++) {
panel.add(pastelRenkliPanel(i, 3, kelime));
}
add(panel);
revalidate();
break;
case "5 harf" :
String[] besHarf = {"AHŞAP", "FELEK", "LADİN", "SABAH", "YONCA", "ŞAHİN", "MAHİR", "MAKUS", "HAZNE", "KONUM"};
kelime = besHarf[r.nextInt(10)];
label.setText("5 harf seçildi...");
panel.removeAll();
panel.setLayout(new GridLayout(5,9));
for(int i=1; i<46 ; i++) {
panel.add(pastelRenkliPanel(i, 5, kelime));
}
add(panel);
revalidate();
break;
default : label.setText("Olmayan bi'madde seçildi...");
}
}
}
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 == 3) {
char a = kelime.charAt(0);
char b = kelime.charAt(1);
char c = kelime.charAt(2);
if (sayi == 1) label.setText(""+kose1);
if (sayi >= 2 && sayi <=4) label.setText(""+yatay);
if (sayi == 5) label.setText(""+kose2);
if (sayi == 6) label.setText(""+dikey);
if (sayi == 7) label.setText(""+a);
if (sayi == 8) label.setText(""+b);
if (sayi == 9) label.setText(""+c);
if (sayi == 10) label.setText(""+dikey);
if (sayi == 11) label.setText(""+kose3);
if (sayi >= 12 && sayi <=14) label.setText(""+yatay);
if (sayi == 15) label.setText(""+kose4);
}
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;
}
}