📄 MailHesap.java .java dosyası
⬇️ İndir
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class MailHesap {
public static String isim;
public static String soyad;
public static String password;
public static int passwordLength = 8;
public static String departman;
public static JComboBox departmanCombo;
public static int mailBoxKapasitesi;
public static String alternatifMail;
public static String sirketMailOnEk;
public static String sirketMailUzantisi = "kesinbisirket.com";
public static JComboBox mailBoxKotaCombo;
public static JTextField sirketMailTextField;
public static JTextField sirketMailKotaTextField;
public static JPanel anaPanel = new JPanel();
public static String[] sonucPanelGoster = new String[7];
public MailHesap() {
JFrame frame = new JFrame("Şirket İçi Mail Hesabı Oluşturma | Java Blackboard [132]");
frame.setLayout(null);
anaPanel.setLayout(null);
anaPanel.setBackground(new Color(217, 217, 217));
anaPanel.setBounds(50, 50, 900, 500);
sonucPanelGoster[0] = "mailBekleniyor.jpg";
sonucPanelGoster[1] = "İsim Soyad";
sonucPanelGoster[2] = "Departman";
sonucPanelGoster[3] = "Şirket mail";
sonucPanelGoster[4] = " 0 MB";
sonucPanelGoster[5] = "Şifre";
sonucPanelGoster[6] = "Alternatif mail";
anaPanel.add(infoPanel());
anaPanel.add(sonucPanel(sonucPanelGoster));
frame.add(anaPanel);
frame.setSize(1000, 622);
frame.setLocationRelativeTo(null);
frame.getContentPane().setBackground(new Color(217, 185, 91));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static JPanel logoPanel() {
JPanel panel = new JPanel();
panel.setLayout(null);
panel.setBackground(new Color(140, 28, 3));
ImageIcon icon = new ImageIcon("src/images/sirketLogo.jpg");
JLabel logoLabel = new JLabel();
logoLabel.setIcon(icon);
logoLabel.setBounds(0, 0, 350, 100);
panel.add(logoLabel);
panel.setBounds(25, 25, 350, 100);
return panel;
}
public static JPanel mailOlusturulduPanel(String dosyaIsmi) {
// iki tane dosyamiz var bunlar da duruma gore degisecek
// 1) mailBekleniyor.jpg
// 2) mailOlusturuldu.jpg
JPanel panel = new JPanel();
panel.setLayout(null);
panel.setBackground(new Color(140, 28, 3));
ImageIcon iconMail = new ImageIcon("src/images/" + dosyaIsmi);
JLabel mailLabel = new JLabel();
mailLabel.setIcon(iconMail);
mailLabel.setBounds(0, 0, 350, 100);
panel.add(mailLabel);
panel.setBounds(25, 25, 350, 100);
return panel;
}
public static JPanel infoPanel() {
JPanel panel = new JPanel();
panel.setLayout(null);
panel.setBackground(new Color(169, 203, 217));
panel.add(logoPanel());
int xStart = 10;
int x = xStart;
int y = 150;
int xFark = 100;
int yFark = 30;
int labelGenislik = 150;
int textFieldGenislik = 280;
int ortakYukseklik = 30;
JLabel isimLabel = new JLabel("İsim : ");
isimLabel.setBounds(x, y, labelGenislik, ortakYukseklik);
x = x + xFark;
JTextField isimTextField = new JTextField();
isimTextField.setBounds(x, y, textFieldGenislik, ortakYukseklik);
x = xStart;
y = y + yFark;
JLabel soyadLabel = new JLabel("Soyad : ");
soyadLabel.setBounds(x, y, labelGenislik, ortakYukseklik);
x = x + xFark;
JTextField soyadTextField = new JTextField();
soyadTextField.setBounds(x, y, textFieldGenislik, ortakYukseklik);
x = xStart;
y = y + yFark;
JLabel passwordLabel = new JLabel("Password : ");
passwordLabel.setBounds(x, y, labelGenislik, ortakYukseklik);
x = x + xFark;
password = randomPassword();
JTextField passwordTextField = new JTextField(password);
passwordTextField.setBounds(x, y, textFieldGenislik, ortakYukseklik);
x = xStart;
y = y + yFark;
JLabel departmanLabel = new JLabel("Departman : ");
departmanLabel.setBounds(x, y, labelGenislik, ortakYukseklik);
x = x + xFark;
String[] departmanIsim = {"Seçiniz", "Satış Pazarlama", "Teknoloji",
"Muhasebe", "Güvenlik", "Yiyecek/İçecek", "Müşteri İlişkileri", "Ön Büro"};
departmanCombo = new JComboBox(departmanIsim);
departmanCombo.setBounds(x, y, textFieldGenislik, ortakYukseklik);
x = xStart;
y = y + yFark;
JLabel mailBoxKotasiLabel = new JLabel("Mailbox Kotası : ");
mailBoxKotasiLabel.setBounds(x, y, labelGenislik, ortakYukseklik);
x = x + xFark;
String[] mailBoxKota = {"Kota Seçiniz", "500 MB", "1 GB",
"3 GB", "5 GB", "10 GB"};
mailBoxKotaCombo = new JComboBox(mailBoxKota);
mailBoxKotaCombo.setBounds(x, y, textFieldGenislik, ortakYukseklik);
x = xStart;
y = y + yFark;
JLabel alternatifMailLabel = new JLabel("Alternatif Mail : ");
alternatifMailLabel.setBounds(x, y, labelGenislik, ortakYukseklik);
x = x + xFark;
JTextField alternatifMailTextField = new JTextField();
alternatifMailTextField.setBounds(x, y, textFieldGenislik, ortakYukseklik);
x = xStart + xFark;
y = y + (yFark*2);
JButton mailOusturButon = new JButton("Şirket Maili Oluştur");
mailOusturButon.setBounds(x, y, textFieldGenislik, ortakYukseklik);
mailOusturButon.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
anaPanel.removeAll();
// Formdan alınan bilgileri kullanarak mail oluşturma işlemi burada yapılabilir.
// Örnek olarak:
isim = isimTextField.getText();
soyad = soyadTextField.getText();
departman = (String) departmanCombo.getSelectedItem();
int departmanInteger = (int) departmanCombo.getSelectedIndex();
switch (departmanInteger) {
case 0: sirketMailOnEk = "free";
break;
case 1: sirketMailOnEk = "sale";
break;
case 2: sirketMailOnEk = "tech";
break;
case 3: sirketMailOnEk = "acc";
break;
case 4: sirketMailOnEk = "sec";
break;
case 5: sirketMailOnEk = "fb";
break;
case 6: sirketMailOnEk = "cr";
break;
case 7: sirketMailOnEk = "fof";
break;
}
int mailBoxKapasitesiInteger = (int) mailBoxKotaCombo.getSelectedIndex();
switch (mailBoxKapasitesiInteger) {
case 0 : mailBoxKapasitesi = 0;
break;
case 1 : mailBoxKapasitesi = 500;
break;
case 2 : mailBoxKapasitesi = 1024;
break;
case 3 : mailBoxKapasitesi = 3072;
break;
case 4 : mailBoxKapasitesi = 5120;
break;
case 5 : mailBoxKapasitesi = 10240;
break;
}
alternatifMail = alternatifMailTextField.getText();
// Şirket içi mail oluşturma ve sonuçları gösterme işlemi burada yapılabilir.
// Örnek olarak:
String sirketMail = isim.toLowerCase() + "." + soyad.toLowerCase() +
"@" + sirketMailOnEk + "." +sirketMailUzantisi;
String sirketMailKota = "" + mailBoxKapasitesi;
System.out.println("isim = " + isim);
System.out.println("soyad = " + soyad);
System.out.println("departman = " + departman);
System.out.println("Mail Kota = " + mailBoxKapasitesi);
System.out.println("Sirket Mail = " + sirketMail);
System.out.println("Mail Kota = " + sirketMailKota);
System.out.println("Alternatif = " + alternatifMail);
// Mail formundan geen bilgileri
// sonuç paneline gonderiyoruz.
sonucPanelGoster[0] = "mailOlusturuldu.jpg";
sonucPanelGoster[1] = isim + " " + soyad; // isim soyad text field.
sonucPanelGoster[2] = departman;
sonucPanelGoster[3] = sirketMail;
sonucPanelGoster[4] = "" + sirketMailKota + " MB";
sonucPanelGoster[5] = password;
sonucPanelGoster[6] = alternatifMail;
anaPanel.add(infoPanel());
anaPanel.add(sonucPanel(sonucPanelGoster));
anaPanel.revalidate();
anaPanel.repaint();
}
});
panel.add(isimLabel);
panel.add(isimTextField);
panel.add(soyadLabel);
panel.add(soyadTextField);
panel.add(passwordLabel);
panel.add(passwordTextField);
panel.add(departmanLabel);
panel.add(departmanCombo);
panel.add(mailBoxKotasiLabel);
panel.add(mailBoxKotaCombo);
panel.add(alternatifMailLabel);
panel.add(alternatifMailTextField);
panel.add(mailOusturButon);
panel.setBounds(25, 25, 400, 450);
return panel;
}
public static JPanel sonucPanel(String[] sonucPanelInfo) {
JPanel panel = new JPanel();
panel.setLayout(null);
panel.setBackground(new Color(169, 203, 217));
panel.add(mailOlusturulduPanel(sonucPanelInfo[0]));
int xStart = 10;
int x = xStart;
int y = 150;
int xFark = 100;
int yFark = 30;
int labelGenislik = 150;
int textFieldGenislik = 280;
int ortakYukseklik = 30;
JLabel isimLabel = new JLabel("İsim : ");
isimLabel.setBounds(x, y, labelGenislik, ortakYukseklik);
x = x + xFark;
JTextField isimTextFieldSonuc = new JTextField(sonucPanelInfo[1]);
isimTextFieldSonuc.setEditable(false);
isimTextFieldSonuc.setBounds(x, y, textFieldGenislik, ortakYukseklik);
x = xStart;
y = y + yFark;
JLabel departmanLabel = new JLabel("Departman : ");
departmanLabel.setBounds(x, y, labelGenislik, ortakYukseklik);
x = x + xFark;
JTextField departmanTextField = new JTextField(sonucPanelInfo[2]);
departmanTextField.setEditable(false);
departmanTextField.setBounds(x, y, textFieldGenislik, ortakYukseklik);
x = xStart;
y = y + yFark;
JLabel sirketMailLabel = new JLabel("Sirket Mail : ");
sirketMailLabel.setBounds(x, y, labelGenislik, ortakYukseklik);
x = x + xFark;
sirketMailTextField = new JTextField(sonucPanelInfo[3]);
sirketMailTextField.setEditable(false);
sirketMailTextField.setBounds(x, y, textFieldGenislik, ortakYukseklik);
x = xStart;
y = y + yFark;
JLabel sirketMailKotaLabel = new JLabel("Mail Kotasi : ");
sirketMailKotaLabel.setBounds(x, y, labelGenislik, ortakYukseklik);
x = x + xFark;
sirketMailKotaTextField = new JTextField(sonucPanelInfo[4]);
sirketMailKotaTextField.setEditable(false);
sirketMailKotaTextField.setBounds(x, y, textFieldGenislik, ortakYukseklik);
x = xStart;
y = y + yFark;
JLabel passwordLabel = new JLabel("Password : ");
passwordLabel.setBounds(x, y, labelGenislik, ortakYukseklik);
x = x + xFark;
JTextField passwordTextField = new JTextField(sonucPanelInfo[5]);
passwordTextField.setEditable(false);
passwordTextField.setBounds(x, y, textFieldGenislik, ortakYukseklik);
x = xStart;
y = y + yFark;
JLabel alternatifMailLabel = new JLabel("Alternatif Mail : ");
alternatifMailLabel.setBounds(x, y, labelGenislik, ortakYukseklik);
x = x + xFark;
JTextField alternatifMailTextField = new JTextField(sonucPanelInfo[6]);
alternatifMailTextField.setEditable(false);
alternatifMailTextField.setBounds(x, y, textFieldGenislik, ortakYukseklik);
x = xStart + xFark;
y = y + (yFark*2);
JButton mailFormTemizleButon = new JButton("Mail Formunu Temizle");
mailFormTemizleButon.setBounds(x, y, textFieldGenislik, ortakYukseklik);
mailFormTemizleButon.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
anaPanel.removeAll();
// Formdaki tüm JTextField'ların içeriğini temizliyoruz.
sonucPanelGoster[0] = "mailBekleniyor.jpg";
sonucPanelGoster[1] = "İsim Soyad";
sonucPanelGoster[2] = "Departman";
sonucPanelGoster[3] = "Şirket mail";
sonucPanelGoster[4] = " 0 MB";
sonucPanelGoster[5] = "Şifre";
sonucPanelGoster[6] = "Alternatif mail";
anaPanel.add(infoPanel());
anaPanel.add(sonucPanel(sonucPanelGoster));
anaPanel.revalidate();
anaPanel.repaint();
}
});
panel.add(isimLabel);
panel.add(isimTextFieldSonuc);
panel.add(departmanLabel);
panel.add(departmanTextField);
panel.add(sirketMailLabel);
panel.add(sirketMailTextField);
panel.add(sirketMailKotaLabel);
panel.add(sirketMailKotaTextField);
panel.add(passwordLabel);
panel.add(passwordTextField);
panel.add(alternatifMailLabel);
panel.add(alternatifMailTextField);
panel.add(mailFormTemizleButon);
panel.setBounds(475, 25, 400, 450);
return panel;
}
public static String randomPassword() {
String passwordSet = "QWERTYUIOPASDFGHJKLZXCVBNM0123456789!#$%&*";
char[] password = new char[passwordLength];
for (int i=0 ; i<passwordLength ; i++) {
int rastgele = (int) (Math.random() * passwordSet.length());
password[i] = passwordSet.charAt(rastgele);
}
String pass = new String(password);
return pass;
}
public static void main(String[] args) {
new MailHesap();
}
}