Merhaba arkadaşlar 1. sınıfta proje olarak sundugum kodu paylaşıyorum.Çok detaylı ve profosyönel bir çalışma değil ancak dosya okuma yazma gibi fonksiyonlar kullandım belki işinize yarayabilir.
Çalışma mantıgına gelirsek ; kullanıcıdan isim,soyisim,ve e-mail isteyerek bunları kodda belirlediğimiz metin belgesinin içine yazıyor .Program kapansa bile bu bilgiler metin belgesinde kayıtlı kalıyor. Admin paneline işe şifre ile giriş yapılıyor ve bu arada isim ve email listesini görebiliyoruz .Aynı zamanda bu dosyaları temizliyebiliyoruzda.Bir diğer özellik ise e-mail giren kullanıcılara toplu olarak e-mail atabiliyorsunuz .Bunu kullanmak için Javamail api yüklü olması gerekiyor bunu javanın kendi sitesinden temin edebilirsiniz .
Çalışma mantıgına gelirsek ; kullanıcıdan isim,soyisim,ve e-mail isteyerek bunları kodda belirlediğimiz metin belgesinin içine yazıyor .Program kapansa bile bu bilgiler metin belgesinde kayıtlı kalıyor. Admin paneline işe şifre ile giriş yapılıyor ve bu arada isim ve email listesini görebiliyoruz .Aynı zamanda bu dosyaları temizliyebiliyoruzda.Bir diğer özellik ise e-mail giren kullanıcılara toplu olarak e-mail atabiliyorsunuz .Bunu kullanmak için Javamail api yüklü olması gerekiyor bunu javanın kendi sitesinden temin edebilirsiniz .
package Proje;
import java.awt.Dimension;
import java.awt.Insets;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.util.regex.Pattern;
public class Proje1 {
public Proje1(){
}
public static void isimler() throws IOException{
String dosya = "C:\\Users\\RaiN\\Desktop\\imza\\isim.txt";
FileWriter file = new FileWriter(dosya,true);
BufferedWriter yaz = new BufferedWriter(file);
String isim = JOptionPane.showInputDialog(null, "İsim Soyisim giriniz");
yaz.write(isim);
yaz.newLine();
yaz.close();
}
public static void emailyolla() throws IOException{
try {
String mail=JOptionPane.showInputDialog("Kullanılacak mail adresini girin.");
String from = mail;
JPasswordField pwd = new JPasswordField(10);
int secim1 = JOptionPane.showConfirmDialog(null, pwd,"Şifreyi girin.",JOptionPane.OK_CANCEL_OPTION);
if(secim1 < 0)
JOptionPane.showMessageDialog(null,"Çarpıya basıldı veya iptal edildi.");
String baslık=JOptionPane.showInputDialog("Maile baslık girin");
String metin=JOptionPane.showInputDialog("Maile metin girin");
String sifre = new String(pwd.getPassword());
String pass = sifre ;
String host = "smtp.gmail.com";
String path = "C:\\Users\\RaiN\\Desktop\\imza\\email.txt";
FileReader file = new FileReader(path);
BufferedReader oku = new BufferedReader(file);
String satir;
while((satir = oku.readLine()) != null){
String[] to = { satir };
Properties props = System.getProperties();
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.user", from);
props.put("mail.smtp.password", pass);
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, null);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
InternetAddress[] toAddress = new InternetAddress[to.length];
for (int i = 0; i < to.length; i++) {
toAddress[i] = new InternetAddress(to[i]);
}
for (int i = 0; i < toAddress.length; i++) {
message.addRecipient(Message.RecipientType.TO, toAddress[i]);
}
message.setSubject(baslık);
message.setText(metin);
Transport transport = session.getTransport("smtp");
transport.connect(host, from, pass);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
}
catch (Exception e) {
e.printStackTrace();
}
JOptionPane.showMessageDialog(null, "İşlem başarıyla tamamlandı.");
admin();
}
public static void email() throws IOException{
String dosya = "C:\\Users\\RaiN\\Desktop\\imza\\email.txt";
FileWriter file = new FileWriter(dosya,true);
BufferedWriter yaz = new BufferedWriter(file);
String email = JOptionPane.showInputDialog(null, "Email giriniz.(İsteğe bağlı)");
final Pattern epostaPattern = Pattern.compile("^\\w[\\w\\.-]*@([\\w\\-]+\\.)+[a-z]{2,6}$");
if (email == null || !epostaPattern.matcher(email).matches()) {
JOptionPane.showMessageDialog(null,"Geçersiz eposta adresi!");
email();
} else {
yaz.write(email);
yaz.newLine();
yaz.close(); }
}
public static void temizle() throws IOException{
int Yes = JOptionPane.showConfirmDialog(null, "Kayıtları silmek istediğinizden emin misiniz?" , "İmza v1" , JOptionPane.YES_NO_OPTION);
if(Yes==0){
String dosya = "C:\\Users\\RaiN\\Desktop\\imza\\isim.txt";
FileWriter file = new FileWriter(dosya);
BufferedWriter yaz = new BufferedWriter(file);
yaz.write("");
yaz.close();
String dosya1 = "C:\\Users\\RaiN\\Desktop\\imza\\email.txt";
FileWriter file1 = new FileWriter(dosya1);
BufferedWriter yaz1 = new BufferedWriter(file1);
yaz1.write("");
yaz1.close();
JOptionPane.showMessageDialog(null, "Kayıtlar başarıyla silindi.");
admin();}
else
admin();
}
public static void kayit() throws IOException{
isimler();
email();
JOptionPane.showMessageDialog(null, "Kaydınız başarıyla tamamlandı . Katıldıgınız için teşekkürler.");
Menu();
}
public static void sonuc() throws IOException{
String path = "C:\\Users\\RaiN\\Desktop\\imza\\isim.txt";
FileReader file = new FileReader(path);
BufferedReader oku = new BufferedReader(file);
String satir;
int oy=0;
String metin = "";
while((satir = oku.readLine()) != null){
metin += satir + "\n";
oy++;
}
JOptionPane.showMessageDialog(null,"Şimdiye kadar "+(oy)+" kişi imza kampanyasını onayladı.");
JScrollPane scrollPane = new JScrollPane(new JLabel(metin));
scrollPane.setPreferredSize(new Dimension(200,500));
Object message = scrollPane;
JTextArea textArea = new JTextArea(metin);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textArea.setMargin(new Insets(5,50,5,50));
scrollPane.getViewport().setView(textArea);
message = scrollPane;
JOptionPane.showMessageDialog(null,
message,
"İmza v1",
JOptionPane.PLAIN_MESSAGE);
}
public static void emailoku() throws IOException{
String path = "C:\\Users\\RaiN\\Desktop\\imza\\email.txt";
FileReader file = new FileReader(path);
BufferedReader oku = new BufferedReader(file);
String satir;
String metin = "";
;
while((satir = oku.readLine()) != null){
metin += satir + "\n";
}
JScrollPane scrollPane = new JScrollPane(new JLabel(metin));
scrollPane.setPreferredSize(new Dimension(300,500));
Object message = scrollPane;
JTextArea textArea = new JTextArea(metin);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textArea.setMargin(new Insets(5,50,5,50));
scrollPane.getViewport().setView(textArea);
message = scrollPane;
JOptionPane.showMessageDialog(null,
message,
"İmza v1",
JOptionPane.PLAIN_MESSAGE);
admin();
}
private static void admin() throws IOException{
String[] secenek = new String[] {"İsim listesi", "E-mail listesi", "Toplu mail", "Kayıtları temizle", "Ana menüye dön" , "Çıkış"};
int secim= JOptionPane.showOptionDialog(null, "Hoşgeldin patron.", "İmza v1", JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE,
null, secenek, secenek[0]);
switch (secim) {
case 0:
sonuc();
admin();
break;
case 1:
emailoku();break;
case 2:
emailyolla();
break;
case 3:
temizle();break;
case 4:
Menu();break;
case 5:
System.exit(0);
default:
JOptionPane.showMessageDialog(null, "Oraya boşuna çıkış butonu koymadık .");
admin();
}
}
public static void Menu() throws IOException{
String sifre= "123456";
String[] options = new String[] {"Yeni Kayıt", "Sonuçları Görüntüle", "Admin", "Çıkış"};
int secim= JOptionPane.showOptionDialog(null, "Hoşgeldiniz.\nSeçiminizi aşağıdaki kutucuklardan yapınız.", "İmza v1",
JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE,
null, options, options[0]);
switch (secim) {
case 0:
kayit();break;
case 1:
sonuc();
Menu();
break;
case 2:
JPasswordField pwd = new JPasswordField(10);
int secim1 = JOptionPane.showConfirmDialog(null, pwd,"Şifreyi girin.",JOptionPane.OK_CANCEL_OPTION);
if(secim1 < 0){
JOptionPane.showMessageDialog(null,"Çarpıya basıldı veya iptal edildi.");
Menu();}
if(new String(pwd.getPassword()).equals(sifre)){
JOptionPane.showMessageDialog(null, "Başarıyla giriş yapıldı.");
admin();break;}
else{
JOptionPane.showMessageDialog(null, "Hatalı parola girdiniz .");
Menu();break;}
case 3:
System.exit(0);
default:
JOptionPane.showMessageDialog(null, "Teşekkürler.");
}
}
public static void main(String[] args) throws IOException {
Menu();
}
}
Hiç yorum yok:
Yorum Gönder