16 Şubat 2014 Pazar

JDBC ile Veritabanına Kayıt ve Kaydedilen Bilgileri JList ile Listeleme

Merhaba bu örnekte JDBC ile NetBeans'te hazırladığım gui form ile veri tabanına bilgi kaydedip,kaydettiğimiz verileri JList aracılığı ile listeleyen bir örnek yapacağım.

Örnek uygulama 2 tab altında olacak ve ilk tab içerisinde formlar ile veri alıp veritabanına kaydedip diğer tab altında da JList yardımı ile listeleme yapağım.


Ekran Görüntüsü :



JDBC sürücüsünün yolu,veritabanının adresi,adı,kullanıcı adı ve şifresini string sınıf değişkeni olarak tanımladık.
Daha sonra veritabanına bağlantı yapacak baglantiAc(); ve baglantiKapat(); metotları yazdık. baglantiAc(); metotunda Class.forName("driver"); ile JDBC sürücüsünü yükledik.Connection nesnesi ile getConnection(); metoduna sınıf değişkeni olarak tanımlanan veritabanının adresi,adı,kullanıcı adı ve şifresini parametre olarak gönderip veritabanı ile bağlantı kurduk.Sonra kaydet butonuna tıkladığında işleme koyulacak kodları ActionPerformed event blokları arasına yazıyoruz.Kodlar aşağıdaki gibidir.



public class form_islemleri extends javax.swing.JFrame {


    String driver = "com.mysql.jdbc.Driver";
    String vtUrl  = "jdbc:mysql://localhost:3306/";
    String vtName = "personel";
    String vt_id  = "root";
    String vtPass = "root";
    ResultSet  rs    = null;
    Connection conn  = null;
        
   public form_islemleri() {
        this.conn = null;
        initComponents();
    }

    public void baglantiAc() throws Exception{
      try {
            
            Class.forName(driver);
            conn = DriverManager.getConnection(vtUrl+vtName,vt_id,vtPass);
            
            JOptionPane.showMessageDialog(null, "Vt bağlantı başarılı" );
            
        } catch (Exception ex) {
            System.err.println(ex);
            JOptionPane.showMessageDialog(null, "Vt bağlantı başarısız" );
        }
    }
    public void baglantiKapat(){
    try {
            conn.close();
        } catch (SQLException ex) {
            System.err.println(ex);
        }
    }
    
  private void btnKaydetActionPerformed(java.awt.event.ActionEvent evt){
      try {
            baglantiAc();
        } catch (Exception e) {
            System.err.println(e);
        }
        String tcNo     = txtTcNo.getText();
        String ad       = txtAd.getText();
        String soyad    = txtSoyad.getText();
        int     yas     = Integer.valueOf(txtYas.getText());
        String maas     = txtMaas.getText();
        String sehir    = txtSehir.getText();
        String cinsiyet = (String) txtCinsiyet.getSelectedItem();
        
        
        try {
            
            String sqlQuery = "INSERT INTO  calisan (tcNo,ad,soyad,yas,maas,sehir,cinsiyet) VALUES (?,?,?,?,?,?,?) ";
            
            PreparedStatement  pst = conn.prepareStatement(sqlQuery);
            pst.setString(1, tcNo);
            pst.setString(2, ad);
            pst.setString(3, soyad);
            pst.setInt(4, yas);
            pst.setString(5, maas);
            pst.setString(6, sehir);
            pst.setString(7, cinsiyet);
            
            pst.executeUpdate();
            
            JOptionPane.showMessageDialog(null, "Kayıt Başarılı");
            
            baglantiKapat();
        } catch (SQLException e) {
            System.err.println(e);
            JOptionPane.showMessageDialog(null, "Kayıt Başarısız");
        } 
   }
    }
Veritabanına kayıt yaptığımız kodlar bu kadar.Şimdi btnBilgiGetir butonunun ActionEvent'ine listeleme yapacağımız tab kodlarını yazalım.



private void btnBilgiGetirActionPerformed(java.awt.event.ActionEvent evt){
          try {
            baglantiAc();//Yukarıda veritabanı bağlantısı için tanımlanan metotu çağırdık.
        } catch (Exception e) {
            System.err.println(e);
        }
            String txtTcNo = txtTcNoBilgiGetir.getText();
            
            try {
                Statement st    = conn.createStatement();
                String sqlSorgu = "SELECT * FROM calisan WHERE tcNo ='"+txtTcNo+"' ";
                ResultSet  rs   = st.executeQuery(sqlSorgu);
                
                int kolSayisi   = rs.getMetaData().getColumnCount();//veritabanı sutun sayısını aldık.
                DefaultTableModel tablomuz = new DefaultTableModel();//tablo oluşturduk.
                for(int i=1 ; i<=kolSayisi;i++){
                    tablomuz.addColumn(rs.getMetaData().getColumnName(i));//tablo sutunu eklemek için yazılan bölüm.
                }
                    while(rs.next()){
                        Object [] satır = new Object[kolSayisi];
                        for(int i=1;i<=kolSayisi;i++){
                            satır[i-1] = rs.getObject(i);
                        }
                        tablomuz.addRow(satır);
                    }
                    bilgiTable.setModel(tablomuz);
                
                baglantiKapat();
        }   catch (Exception e) {
                System.err.println("Hata " + e);
        }
}

6 Şubat 2014 Perşembe

Java Gui Button Hover Efekti

Merhaba; Javada kullanılan butonlara hover efekti uygulayan kodları paylaşacağım.


Uygulamanın ilk görüntüsü :



Hover(Fare imleci üzeri geldiği andaki görüntüsü):


şeklinde olacak.

Yazacağımız kodları ise constructor'a yazıyoruz;
Buttonumuzun mouseListener event'ına mouse imleci buton üzerine gelinceki olayı (mouseEntered) tanımlayıp setBackground ile arkaplan rengini GREEN olarak atıyoruz.Daha sonra mouse imleci buton üzerinden ayrılınca gerçekleşek olay (mouseExited) içinde button rengini default haline geri gelmesi için aşağıda ki tanımlamaları yapıyoruz.


    public buttonDeneme() {
        initComponents();
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
    public void mouseEntered(java.awt.event.MouseEvent evt) {
        jButton1.setBackground(Color.GREEN);
    }
    public void mouseExited(java.awt.event.MouseEvent evt) {
        jButton1.setBackground(UIManager.getColor("control"));
    }
    });
    }



29 Aralık 2013 Pazar

JSP de Form İşlemleri

Merhaba bu yazıda  textbox,select list,radio button kullanarak form aracılığı ile  aldığımız bilgileri veritabanına aktarmayı yazacağım.Direkt program kodunu paylaşıp kod üzerinde yorumla anlatmaya çalışacağım.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Jsp Form İşlemleri</title>
</head>
<body> 
<form method="post" action="">
<table>

<tr>
<td>
<label>İsim Soyisim</label>
</td>
<td>
<input type="text" name="isim_soyisim" placeholder="İsim ve Soyisim Yazın."><br>
</td>
</tr>

<tr>
<td>
<label>E-mail</label>
</td>
<td>
<input type="text" name="mail" placeholder="E-mail Adresinizi Yazın."><br>
</td>
</tr>

<tr>
<td>
<label>Cinsiyet:</label>
</td>
<td>
Erkek<input type="radio" name="cins_durum" value="1">
Bayan<input type="radio" name="cins_durum" value="0"><br>
</td>
</tr>

<tr>
<td>
<label>Mesaj Konusu:</label>
</td>
<td>
<select name="konu" id="konu" style="width: 155px">
<option value="Genel">Genel</option>
<option value="Teknik">Teknik</option>
<option value="Eleştiri">Eleştiri</option>
</select> <br>
</td>
</tr>

<tr>
<td>
<label>Mesaj:</label>
</td>
<td>
<textarea rows="5" cols="10" name="mesaj" placeholder="Mesajınızı Yazın" style="width: 150px"></textarea>
<br>
</td>
</tr>

<tr>
<td></td>
<td>
<button type="submit" name="gonder_olay" style="width: 155px">Gönder</button>
</td>
</tr>
</table>




</form>
</body>
</html>
<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.sql.*" import="java.*" errorPage="" %>
 
  
 <%
  Class.forName("com.mysql.jdbc.Driver");
  Connection conn    = DriverManager.getConnection("jdbc:mysql://localhost:3306/kullanici","root", "root");
  Statement  st_kaydet  = conn.createStatement();
 %>

 <%
   //Gönder butonundaki name ile aktif olacak durumu belirledik.
      boolean gonder_olay_durum = (request.getParameter("gonder_olay") == null);
   
   //inputtaki namelere atadığımız isimler ile aldığımız bilgileri String tipindeki değişkenlere atadık.
   String ad_soyad   = request.getParameter("isim_soyisim"); 
   String mail       = request.getParameter("mail");
   String cinsiyet   = request.getParameter("cins_durum");
   String mesaj_konu = request.getParameter("konu"); 
   String mesaj      = request.getParameter("mesaj");
   
  
   //eğer gonder_olay_durum null değilse if sorgusu içindeki işlemi yap.
   if(!gonder_olay_durum){
    
    try{
     //Sql sorgumuzu Statement ile çalıştırdık.
     int gonder_durum = st_kaydet.executeUpdate("INSERT INTO form (ad_soyad,mail,cinsiyet,mesaj_konusu,mesaj) VALUES ('"+ad_soyad+"', '"+mail+"' , '"+cinsiyet+"', '"+mesaj_konu+"', '"+mesaj+"' )");
     
     if(gonder_durum == 1){
      out.print("kaydedildi");
     }else{
      out.print("kaydedilmedi");
     }
    }catch(Exception e){
     out.print(e);
     }
    }
  %>



4 Aralık 2013 Çarşamba

Java JCalendar Parse İşlemi

Merhaba daha önce bahsetmiş olduğum JCalendar import işleminden sonra şimdi de bu sınıf ile aldığımız veriyi parse etme konusunda kısa bir not paylaşacağım.
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;

try {
    String secilenTarih =dateSec.getDate().toString();
    //dataSec tarih seçme işlemimizi yapan JDataChooser'ın değişken ismi.
SimpleDateFormat donusturucu= new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy",Locale.ENGLISH);
    //zaman değerini değiştirmek için SimpleDateFormat sınıfından yararlanıyoruz.
    java.util.Date tarih = (java.util.Date)donusturucu.parse(secilenTarih);               
    donusturucu.applyPattern("dd-MM-yyyy HH:mm:ss");
    //parantez içini dd-MM-yyyy gün ay yıl şeklinde yada 
    //isteğinize bağlı olarak değiştirebilirsiniz.
    String trh= donusturucu.format(tarih);
    txtSonuc.setText(trh);
    //elde ettiğimiz string tipindeki trh değeriniz txtSonuc adlı labele atıyıp  
   //ekrana yazdırıyoruz.
        } catch (ParseException ex) {
            Logger.getLogger(tarihParse.class.getName()).log(Level.SEVERE, null, ex);
        }

1 Aralık 2013 Pazar

NetBeans IDE ortamına JCalendar İmport işlemi

NetBeans IDE JCalendar İmport

     Merhaba ; bu yazımda masaüstü uygulamalarda tarih seçim işimizi kolay ve şık bir şekilde halledecek JCalendari projemize import etme işlemini anlatacağım.
    Gui elementlerimize daha kolay erişmek için önce palette kısmında yeni bir grup oluşturacağım daha sonra JCalender elementlerimizi buraya ekleyeceğiz.



  1. Öncelikle NetBeans menü çubuğunda Tools >  Palette > Swing/AWT Components i tıklıyoruz.
  2.      
                                 

Çalışmalarım

Hazırladığım Web Siteleri;




Jsp Temel Taglar

     Jsp sayfalarında kullanılan 4 farklı tag türü bulunmaktadır.
  1. Declaration ( Bildiri ) Tagı       <%!     %> 

    Jsp sayfalarında değişken belirleme ve değişken atama yapılır.

    Tanımlamalar <%!     %> tagları arasına  yazılır ve noktalı virgül ile bitirilir(;).
    <%! 
        String dil = "Java";
        int tarih  = 1995 ;
    %>