Java Veritabanı Uygulaması Bölüm 1: Teknik Servis Giriş Sayfası

Java dilinde bir seri halinde verdiğim veritabanı işlemleri ve nesne ekleme-düzenleme derslerinin birlikte kullanımının görülmesi açısından son derece faydalı bir programı yayınlayacağım. Proje, bir teknik servis programı. Ürün ve müşteri bilgilerini veritabanında tutan, admin ve müşteri olmak üzere farklı yetkilere sahip iki kullanıcı türü bulunduran bir program yapacağız. Admin, ürün ekleme ve güncelleme işlemlerini yapabiliyorken, müşteri sadece ürününün bilgilerini sorgulayarak durum kontrolü yapabilme yetkisine sahip. Program tamamlandığında kaynak kodlarını indirebileceksiniz.

Bu bölümde programın giriş bölümüne ait kodları vereceğim.Resimde de gördüğünüz gibi, giriş ekranında admin giriş paneli, kullanıcı giriş paneli ve bunları üzerinde bulunduran panel olmak üzere üç tane panel kullandım. Kodların açıklamalarını daha önceki derslerde vermiştim. Anlaşılmayan noktalar için yorum veya maille bana ulaşabilir ya da java programlama kategorisine göz atabilirsiniz. Kodlardaki tüm ifadelerin açıklamları java kategorisi altındaki yazılarda mevcuttur.

Giriş ekranında neler olduğunu kısaca açıklayayım. Görüldüğü üzere iki kısım bulunmakta. Yetkili girişi bölümünde, butonun actionlistener özelliğinde kullanıcı adı ve şifre bölümlerini veritabanındaki kayıtlı bilgiler ile karşılaştırıp, bilgilerin doğruluğuna göre yetkili sayfasına yönlendiriyoruz. Müşteri girişinde bulunan buton ise kullanıcıyı müşteri sayfasına yönlendiriyor. Kodları aşağıdan inceleyebilirsiniz…

 
[cc lang = ‘java’]
//giriş ekranında iki panel bulunmakta
//panellerden bir tanesinde müşteri girişine ait bilgiler,
//diğerinde yetkili girişine ait giriş elemanları olacak
// son panel de bu iki paneli üzerinde bulunduracak

package teknikservis;

import java.awt.*;
import java.sql.*;
import java.awt.event.*;
import javax.swing.*;
import sun.awt.VerticalBagLayout;

public class girisEkrani extends JFrame {

    JFrame frame;
    JPanel pnl, pnl_yetkili, pnl_musteri;
    JButton btn_yetkiliGirisi, btn_musteriGirisi;
    JPasswordField txt_yetkiliSifre;
    JTextField txt_yetkiliKullaniciAdi, txt_musteriKullaniciAdi, txt_musteriSifre;
    JLabel lbl_yetkiliKullaniciAdi, lbl_yetkiliSifre, lbl_musteriKullaniciAdi, lbl_musteriSifre,
            lbl_panelAdi, lbl_musteriPaneliAdi, lbl_yetkiliPaneliAdi;

    public girisEkrani() {
        frame = new JFrame(“Teknik Servis”);
        frame.setBounds(100, 100, 550, 300);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        panelOlustur();
        yetkiliPaneliOlustur();
        musteriPaneliOlustur();
        frame.add(pnl);

    }

    public void panelOlustur() {
        pnl = new JPanel();
        pnl.setLayout(null);
        lbl_panelAdi = new JLabel(“Giriş Ekranı”);
        lbl_panelAdi.setBounds(10, 2, 100, 20);
        lbl_panelAdi.setFont(new Font(“arial”, Font.BOLD, 15));
        pnl.add(lbl_panelAdi);
    }

    public void yetkiliPaneliOlustur() {
        pnl_yetkili = new JPanel();
        pnl_yetkili.setBackground(Color.lightGray);
        pnl_yetkili.setBounds(10, 25, 250, 200);
        pnl_yetkili.setLayout(null);
        //pnl_yetkili.setPreferredSize(new Dimension(230,200));

        lbl_yetkiliKullaniciAdi = new JLabel(“Kullanici Adi:”);
        lbl_yetkiliKullaniciAdi.setBounds(10, 50, 150, 20);
        txt_yetkiliKullaniciAdi = new JTextField(“”, 8);
        txt_yetkiliKullaniciAdi.setBounds(130, 50, 100, 20);
        lbl_yetkiliSifre = new JLabel(“Şifre: “);
        lbl_yetkiliSifre.setBounds(10, 75, 150, 20);
        txt_yetkiliSifre = new JPasswordField(“”, 8);
        txt_yetkiliSifre.setBounds(130, 75, 100, 20);
        btn_yetkiliGirisi = new JButton(“Giriş”);
        btn_yetkiliGirisi.setBounds(170, 100, 60, 30);
        lbl_yetkiliPaneliAdi = new JLabel(“Yetkili Girişi”);
        lbl_yetkiliPaneliAdi.setFont(new Font(“sherif”, Font.BOLD, 13));
        lbl_yetkiliPaneliAdi.setBounds(10, 2, 100, 20);

        pnl_yetkili.add(lbl_yetkiliPaneliAdi);
        pnl_yetkili.add(lbl_yetkiliKullaniciAdi);
        pnl_yetkili.add(txt_yetkiliKullaniciAdi);
        pnl_yetkili.add(lbl_yetkiliSifre);
        pnl_yetkili.add(txt_yetkiliSifre);
        pnl_yetkili.add(btn_yetkiliGirisi);
        pnl.add(pnl_yetkili);

        btn_yetkiliGirisi.addActionListener(
                new ActionListener() {
                    public void actionPerformed(ActionEvent event)
                    {
                        try
                        {
                            Class.forName(“com.mysql.jdbc.Driver”).newInstance();
                            System.out.print(“sürücü yüklendi”);
                            Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/teknikServis”, “root”, “”);
                            Statement komut = conn.createStatement();
                            ResultSet rs = komut.executeQuery(“select * from tbl_yetkilikullaniciadisifre order by kullaniciAdi”);    //bilgileri çek
                            while (rs.next()) {
                                if(txt_yetkiliKullaniciAdi.getText().equals(rs.getString(“kullaniciAdi”)) && txt_yetkiliSifre.getText().equals(rs.getString(“sifre”)))
                                {
                                    if(txt_yetkiliSifre.getText().equals(rs.getString(“sifre”)))
                                    {
                                        yetkiliSayfasi ys = new yetkiliSayfasi();
                                        frame.setVisible(false);
                                    }
                                    else
                                    {
                                        JOptionPane.showMessageDialog(null, “Yanlıs kullanıcı adı veya şifre, Bilgilerinizi kontrol ederek tekrar deneyiniz”);
                                    }
                                }
                            }
                            conn.close();
                        }
                        catch (Exception s)
                        {
                            System.out.print(s.getMessage());
                        }
                    }
                });
    }

    public void musteriPaneliOlustur()
    {
        //————————————
        //Panel oluştur, özelliklerini belirle
        //————————————
        pnl_musteri = new JPanel();
        pnl_musteri.setBackground(Color.lightGray);
        pnl_musteri.setBounds(270, 25, 250, 200);
        pnl_musteri.setLayout(null);

        //————————————
        //Panele eklenecek componentleri oluştur
        //————————————

        btn_musteriGirisi = new JButton(“Giriş”);
        btn_musteriGirisi.setBounds(100, 80, 80, 40);
        lbl_musteriPaneliAdi = new JLabel(“Musteri Girişi”);
        lbl_musteriPaneliAdi.setFont(new Font(“sherif”, Font.BOLD, 13));
        lbl_musteriPaneliAdi.setBounds(10, 2, 100, 20);

        //————————————
        //Panele nesneleri ekle
        //————————————
        pnl_musteri.add(btn_musteriGirisi);
        pnl_musteri.add(lbl_musteriPaneliAdi);
        pnl.add(pnl_musteri);

        //————————————
        //Butonun click event i
        //————————————
        btn_musteriGirisi.addActionListener(
                new ActionListener()
        {
            public void actionPerformed(ActionEvent event)
            {                
                    musteriSayfasi ms = new musteriSayfasi();
                    frame.setVisible(false);
            }
        });
    }
}
[/cc]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir