10 Kasım 2013 Pazar



prob.properties

# To change this template, choose Tools | Templates  
# and open the template in the editor.  
renk1=sarı  
renk2=kırmızı  
renk3=yesil  
PropertiesFile.java

  /*  
   * To change this template, choose Tools | Templates  
   * and open the template in the editor.  
   */  
  package main;  
  import java.io.FileInputStream;  
  import java.util.Properties;  
  /**  
   *  
   * @author Hasan Çelik  
   */  
  public class PropertiesFile {  
    public static void main(String[] args){  
      Properties properties = new Properties();  
      try{  
        //properties.load(getClass().getClassLoader().getResourceAsStream("config.properties")); ---> non-static method için properties dosyasının yüklenmesi için yöntem  
        //properties.load(new FileInputStream("external.properties")); ---> burada ise dışarıdan harici bir properties dosyasını programa yüklemek için bir yöntem  
        //properties dosyasını classpath'den yüklüyoruz.  
        properties.load(PropertiesFile.class.getClassLoader().getResourceAsStream("main/prob.properties"));  
        //properties değerlerine erişim  
        System.out.println(properties.getProperty("renk1"));  
        System.out.println(properties.getProperty("renk2"));  
        System.out.println(properties.getProperty("renk3"));  
        //properties değerlerini değiştirme  
        properties.setProperty("renk1", "siyah");  
        properties.setProperty("renk2", "gri");  
        properties.setProperty("renk3", "mavi");  
        System.out.println(properties.getProperty("renk1"));  
        System.out.println(properties.getProperty("renk2"));  
        System.out.println(properties.getProperty("renk3"));  
      }catch(Exception e){  
        e.printStackTrace();  
      }  
    }  
  }

Sonuç:

  run:  
  sarı  
  kırmızı  
  yesil  
  siyah  
  gri  
  mavi  
  BUILD SUCCESSFUL (total time: 0 seconds)

1.Yol

  /*  
   * To change this template, choose Tools | Templates  
   * and open the template in the editor.  
   */  
  package main;  
  /**  
   *  
   * @author Hasan Çelik  
   */  
  import javax.xml.parsers.DocumentBuilderFactory;  
  import javax.xml.parsers.DocumentBuilder;  
  import org.w3c.dom.Document;  
  import org.w3c.dom.NodeList;  
  import org.w3c.dom.Node;  
  import org.w3c.dom.Element;  
  import java.io.StringReader;  
  import org.xml.sax.InputSource;  
  public class ReadXMLFile {  
    public static void main(String argv[]) {  
      try {  
        //File xmlFile = new File("/Users/hasan/belge.xml");  //dilerseniz xml dosyasındanda okuma işlemi gerçekleştirebilirsiniz.  
        String xml = "\n"  
            + "\n"  
            + " \n"  
            + "  200\n"  
            + "  İşlem başarılı\n"  
            + " \n"  
            + "";  
        InputSource source = new InputSource(new StringReader(xml));  
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();  
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();  
        Document doc = dBuilder.parse(source);  
        doc.getDocumentElement().normalize();  
        NodeList liste = doc.getElementsByTagName("status");  
        for (int temp = 0; temp < liste.getLength(); temp++) {  
          Node node = liste.item(temp);  
          System.out.println("Root element :" + doc.getDocumentElement().getNodeName());  
          System.out.println("Element :" + node.getNodeName());  
          if (node.getNodeType() == Node.ELEMENT_NODE) {  
            Element eElement = (Element) node;  
            System.out.println("message : " + eElement.getElementsByTagName("message").item(0).getTextContent());  
            System.out.println("code : " + eElement.getElementsByTagName("code").item(0).getTextContent());  
          }  
        }  
      } catch (Exception e) {  
        e.printStackTrace();  
      }  
    }  
  }

Sonuç

  run:  
  Root element :response  
  Element :status  
  message : İşlem başarılı  
  code : 200  
  BUILD SUCCESSFUL (total time: 0 seconds)  

2.Yol

  /*  
   * To change this template, choose Tools | Templates  
   * and open the template in the editor.  
   */  
  package main;  
  import java.io.StringReader;  
  import javax.xml.parsers.DocumentBuilder;  
  import javax.xml.parsers.DocumentBuilderFactory;  
  import javax.xml.xpath.XPath;  
  import javax.xml.xpath.XPathFactory;  
  import org.w3c.dom.Document;  
  import org.xml.sax.InputSource;  
  /**  
   *  
   * @author Hasan Çelik  
   */  
  public class ReadXmlFile2 {  
    public static void main(String argv[]) {  
      String message;  
      String code;  
      try {  
        //File xmlFile = new File("/Users/hasan/belge.xml");  //dilerseniz xml dosyasındanda okuma işlemi gerçekleştirebilirsiniz.  
        String xml = "\n"  
            + "\n"  
            + " \n"  
            + "  200\n"  
            + "  İşlem başarılı\n"  
            + " \n"  
            + "";  
        InputSource source = new InputSource(new StringReader(xml));  
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();  
        DocumentBuilder db = dbf.newDocumentBuilder();  
        Document document = db.parse(source);  
        XPathFactory xpathFactory = XPathFactory.newInstance();  
        XPath xpath = xpathFactory.newXPath();  
        message = xpath.evaluate("/response/status/message", document);  
        code = xpath.evaluate("/response/status/code", document);  
        System.out.println("message = " + message);  
        System.out.println("code = " + code);  
      } catch (Exception e) {  
        System.out.println(e.getMessage());  
      }  
    }  
  } 

Sonuç

  run:  
  message = İşlem başarılı  
  code = 200  
  BUILD SUCCESSFUL (total time: 0 seconds) 

Standard HttpURLConnection ve Apache HttpClient kütüphanesi kullanarak Http GET isteği nasıl yapılır onun hakkında bilgi vermek istiyorum.

1-) Standard HttpURLConnection

HttpGetRequest.java 

  /*  
   * To change this template, choose Tools | Templates  
   * and open the template in the editor.  
   */  
  package main;  
  import java.io.BufferedReader;  
  import java.io.InputStreamReader;  
  import java.net.HttpURLConnection;  
  import java.net.URL;  
  /**  
   *  
   * @author Hasan Çelik  
   */  
  public class HttpGetRequest {  
    static int responseCode;  
    static String responseMessage;
  
    public static void main(String[] args) throws Exception {
  
      URL url = new URL("http://www.blog.berkadem.com/");  
      HttpURLConnection con = (HttpURLConnection) url.openConnection();  
      con.setRequestMethod("GET");  
      responseCode=con.getResponseCode();  
      responseMessage=con.getResponseMessage();  
      BufferedReader in = new BufferedReader(new InputStreamReader(  
                    con.getInputStream()));  
      String inputLine;  
      StringBuffer sonuc = new StringBuffer(); 
 
      while ((inputLine = in.readLine()) != null)   
        //System.out.println(inputLine); //dilerseniz response sonucunu bu şekilde de alabilirsiniz  
        sonuc.append(inputLine);  
      in.close();  
      //System.out.println("Sonuc = "+sonuc); //dilerseniz response sonucunu bu şekilde de alabilirsiniz. Burada dönen response değeri xml formatında da olabilirdi.  
      System.out.println("responseCode = "+responseCode);  
      System.out.println("responseMessage = "+responseMessage);  
    }  
  } 
Sonuç 

run:  
  responseCode = 200  
  responseMessage = OK  
  BUILD SUCCESSFUL (total time: 1 second)


1-) Apache HttpClient 

  /*  
   * To change this template, choose Tools | Templates  
   * and open the template in the editor.  
   */  
  package main;  
  import java.io.BufferedReader;  
  import java.io.InputStreamReader;  
  import org.apache.http.HttpResponse;  
  import org.apache.http.client.HttpClient;  
  import org.apache.http.client.methods.HttpGet;  
  import org.apache.http.impl.client.DefaultHttpClient;  
  /**  
   *  
   * @author Hasan Çelik  
   */  
  public class HttpGetRequest2 {  
    static int responseCode;  
    static String responseMessage;
  
    public static void main(String[] args) throws Exception {  

      String url = "http://www.blog.berkadem.com/";  
      HttpClient client = new DefaultHttpClient();  
      HttpGet request = new HttpGet(url);  
      HttpResponse response = client.execute(request);  
      responseCode=response.getStatusLine().getStatusCode();  
      responseMessage=response.getStatusLine().getReasonPhrase();  
      BufferedReader in = new BufferedReader(  
          new InputStreamReader(response.getEntity().getContent()));  
      String inputLine;  
      StringBuffer sonuc = new StringBuffer();
 
      while ((inputLine = in.readLine()) != null) //System.out.println(inputLine); //dilerseniz response sonucunu bu şekilde de alabilirsiniz  
      {  
        sonuc.append(inputLine);  
      }  

      in.close();  
      //System.out.println("Sonuc = "+sonuc); //dilerseniz response sonucunu bu şekilde de alabilirsiniz. Burada dönen response değeri xml formatında da olabilirdi.  
      System.out.println("responseCode = " + responseCode);  
      System.out.println("responseMessage = " + responseMessage);  
    }  
  } 
Sonuç 

  run:  
  responseCode = 200  
  responseMessage = OK  
  BUILD SUCCESSFUL (total time: 0 seconds)  


6 Kasım 2013 Çarşamba



  public void update() {  
      jLabel1.setText(jTextArea3.getText().length()+"/ sayi");  
    }  




  private void jTextArea3KeyTyped(java.awt.event.KeyEvent evt) {                    
      // Listen for changes in the text  
      // text alanındaki değişikliği dinle  
      jTextArea3.getDocument().addDocumentListener(new DocumentListener() {  
        public void changedUpdate(DocumentEvent evt) {  
          update();  
        }  
        public void removeUpdate(DocumentEvent evt) {  
          update();  
        }  
        public void insertUpdate(DocumentEvent evt) {  
          update();  
        }  
      });  
    }  

4 Kasım 2013 Pazartesi



 String userHomeFolder = System.getProperty("user.home") + "/Desktop"; 
 File textFile = new File(userHomeFolder, "mytext.xls");  

2 Kasım 2013 Cumartesi





  int selectedRow =0;  
....
  private void jXTable2MousePressed(java.awt.event.MouseEvent evt) {                     
      try {  
        //Tabloda üzerine tıklanılan satırın bilgilerini ilgili form elemanlarına yazar.  
        selectedRow = jXTable2.getSelectedRow();  
      } catch (Exception e) {  
        //  
      }    
...
  private void jXHyperlink4ActionPerformed(java.awt.event.ActionEvent evt) {                         
      DefaultTableModel model = (DefaultTableModel) jXTable2.getModel();  
      model.removeRow(selectedRow);  
    }  


1:  JTable table = new JTable(new DefaultTableModel(new Object[]{"Column1", "Column2"}));  


....

  DefaultTableModel model = (DefaultTableModel) table.getModel();
  model.addRow(new Object[]{"Id", "Name"});  

7 Haziran 2013 Cuma

import java.io.File;

public class DosyaBuyuklugu {
     public static void main(String[] args){

     String dizin="c:\\dosya\\resim.jpg";
     File file =new File(dizin);
       if(file.exists()){

           double bytes = file.length();
           double kilobytes = (bytes / 1024);
           double megabytes = (kilobytes / 1024);
           double gigabytes = (megabytes / 1024);
           double terabytes = (gigabytes / 1024);
           double petabytes = (terabytes / 1024);
           double exabytes = (petabytes / 1024);
           double zettabytes = (exabytes / 1024);
           double yottabytes = (zettabytes / 1024);
           
           System.out.println("bytes : " + bytes);
           System.out.println("kilobytes : " + kilobytes);
           System.out.println("megabytes : " + megabytes);
           System.out.println("gigabytes : " + gigabytes);
           System.out.println("terabytes : " + terabytes);
           System.out.println("petabytes : " + petabytes);
           System.out.println("exabytes : " + exabytes);
           System.out.println("zettabytes : " + zettabytes);
           System.out.println("yottabytes : " + yottabytes);
           
      }else{
           System.out.println("Dosya Bulunamadı!");
           }
         }
      }

26 Mayıs 2013 Pazar

package deneme;

import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

/**
 *
 * @author Hasan Çelik
 */
public class EmailGonder {

    String filename = "C:\\WordBelgeler\\Word\\wordDokuman.doc"; //dizin şeklinde 
    //String filename = "src/deneme/wordDokuman.doc";            //proje kaynak dosyası içindeki dizini
            
    public static void main(String[] args) {
        EmailGonder e = new EmailGonder();
        e.Gonder("hsnclk1985@hotmail.com", "hsnclk1985@yahoo.com");
    }

    public void Gonder(String alici, String gonderen) {

        final String username = "hsnclk1985@gmail.com";
        final String password = "password"; //kendi şifrenizle deneyiniz...

        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.port", "587");

        Session session = Session.getInstance(props,
                new javax.mail.Authenticator() {

                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(username, password);
                    }
                });
        try {

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(gonderen));
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(alici));
            message.setSubject("Bilgilendirme Maili :");
            MimeBodyPart messageBodyPart = new MimeBodyPart();
            
            //Mesaj İçerik
            messageBodyPart.setText("Merhaba");
            Multipart multipart = new MimeMultipart();
            multipart.addBodyPart(messageBodyPart);
            
            //Ek Dosya
            messageBodyPart = new MimeBodyPart();
            DataSource source = new FileDataSource(filename);
            messageBodyPart.setDataHandler(new DataHandler(source));
            messageBodyPart.setFileName(source.getName());
            multipart.addBodyPart(messageBodyPart);
            message.setContent(multipart);


            Transport.send(message);

            System.out.println("Mail Gönderildi");

        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }
    }
}

24 Nisan 2013 Çarşamba


Merhaba Arkadaşlar, Bu makalemde basit bir asal sayı bulma algoritmasını paylaşmak istiyorum.. Yapmaya çalıştığım şey 3'ten 100'e kadar olan asal sayıları ekrana yansıtmak... Bu sayı aralığını integer büyüklüğü el verdiği müddetçe değiştirebilirsiniz..
1. Versiyon
package asal;
/**
 *
 * @author Hasan Çelik
 */
public class Asal2 {
    public static void asalBul() {
        int a = 3;
        int b = 2;
        int a2 = 100;
        int kalan=0;
        for (int i = a; i <= a2; i++) {
            for (int j = b; j < i; j++) {
                kalan = i % j;
                if (kalan == 0) {
                    break;
                }
            }
            if(kalan!=0){
                System.out.println(i + "-");
            }
        }
    }
  
    public static void main(String[] args) {
        asalBul();
    }
}
2. Versiyon
package asal;
/**
 *
 * @author Hasan Çelik
 */
public class AsalSayi {
    public static void main(String[] args) {
        int a = 3;
        int b = 2;
        int a2 = 100;
        int kalan;
        boolean asalmi = false;
        for (int i = a; i <= a2; i++) {
            asalmi = true;
            for (int j = b; j < i; j++) {
                kalan = i % j;
                if (kalan == 0) {
                    asalmi = false;
                }
            }
            if (asalmi) {
                System.out.println(i + "-");
            }
        }
    }
}
Sonuç
3-5-7-11-13-17-19-23-29-31-37-41-43-47-53-59-61-67-71-73-79-83-89-97-BUILD SUCCESSFUL (total time: 1 second)
3. Versiyon
package asal;
import java.util.Scanner;
/**
 *
 * @author Hasan Çelik
 */
public class Asal {
    public static void asalBul(Integer girilenSayi) {
        if (girilenSayi != null && !girilenSayi.equals("")) {
            if ((girilenSayi % 2) == 0) { //yani sayımız çift ise kalan haliyle sıfır olur...
                System.out.println("Asal Degil..");
                return;
            } else {
                for (int i = 3; i < girilenSayi; i = i + 2) {
                    if ((girilenSayi % i) == 0) {
                        System.out.println("Asal Degil..");
                        return;
                    }
                }
            }
            if ((girilenSayi / 1 == girilenSayi) && (girilenSayi / girilenSayi == 1)) {
                System.out.println("Bu Bir Asal Sayıdır!!!");
                return;
            }
        }
    }
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner klavye = new Scanner(System.in);
        Integer girilenSayi = klavye.nextInt();
        asalBul(girilenSayi);
    }
}
Sonuç
run:
23
Bu Bir Asal Sayıdır!!!
BUILD SUCCESSFUL (total time: 7 seconds)

6 Nisan 2013 Cumartesi


Arkadaşlar merhaba, bu makalede "Non-terminating decimal expansion" istisnası, normal şartlar altında ne sebepten alındığı hakkında kısaca bilgi vermeye çalışacağım..Bigdecimal değerler için illaki tam bölünmeyen sayılarla işlemler yaptığınız olmuştur.. Bu hata mesajı da tam olarak bununla alakalıdır. Bazı sayılar bölme işlemi sonucunda kendini virgülden sonra sonsuz tekrar edebilir...Örnek vermek gerekirse;

BigDecimal a = new BigDecimal("124");BigDecimal b = new BigDecimal("3"); a.divide(b) // results in the following exception.
normal şartlar altında bir sınırlama getirmediğimiz takdirde sonuç : 41.33333333333333333333333.....şeklinde tekrar eder ve sonucunda bu hata mesajını alırız... Tabiki bunu engellemek için java'nın bir yöntemi var. Nasıl mı?

a.divide(b, 2, RoundingMode.HALF_UP)
şimdi sonuç : 41.33 ' tür...


a.divide(b, 3, RoundingMode.HALF_UP)
şimdi ise sonuç :41.333 ' tür

görüldüğü üzere sonuç virgülden sonra belirlediğimiz sayıya göre yuvarlanmıştır...

Aşağıda ise sadece bir BigDecimal değerin virgülden sonraki hane sayısını, yani yuvarlama yapılacak sayıyı belirleme işlemi yer almaktadır.


BigDecimal sayi = new BigDecimal(100); 
BigDecimal yeniSayi= sayi.setScale(2, sayi.ROUND_HALF_DOWN); 

sonuç :100.00


java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
at java.math.BigDecimal.divide(BigDecimal.java:1603)
at barcode.TarihHesapla.tarihEkle(TarihHesapla.java:90)
at barcode.CariListe.jXHyperlink7ActionPerformed(CariListe.java:3397)
at barcode.CariListe.access$700(CariListe.java:36)
at barcode.CariListe$8.actionPerformed(CariListe.java:1503)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at org.jdesktop.swingx.JXHyperlink.fireActionPerformed(JXHyperlink.java:225)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

5 Nisan 2013 Cuma



Merhaba arkadaşlar,

Bu makalede mysql kullanıcılarının pek sık karşılaşmadığı bir Exception(istisna)'dan bahsetmek istiyorum... Hatayı biraz daha Türkçe'leştirmek gerekirse productUnit kolonunda belirtilen sınırın aşıldığı anlaşılmaktadır. Yani kolonun veri tipi integer ise integer için belirlenen maximum aralık aşılmıştır... Bazı makalelerde sorunun aşılması için jdbc.Driver değişikliği hatayı kısa vadeli çözse de, asıl çözüm kolon için daha önceden belirlemiş olduğunuz veri tipi ile alakalıdır. Belli ki bu veri tipi bu kolona girilmek istenen değer için yeterli değildir.. Bunun için daha büyük veri saklayabilecek veri tipleri kullanmak gerekmektedir. Mesela tinyint yerine int veri tipinin kullanılması gibi örnekler verebilirim.



com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column 'productUnit' at row 1 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3564) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2409) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2327) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2312) at barcode.PurchasePart.UrunSatisDatabase(PurchasePart.java:454) at barcode.PurchasePart.UrunSatis(PurchasePart.java:821) at barcode.PurchasePart.BarcodeControl(PurchasePart.java:264) at barcode.PurchasePart.jTextField1ActionPerformed(PurchasePart.java:3123) at barcode.PurchasePart.access$200(PurchasePart.java:61) at barcode.PurchasePart$3.actionPerformed(PurchasePart.java:2246) at javax.swing.JTextField.fireActionPerformed(JTextField.java:492) at javax.swing.JTextField.postActionEvent(JTextField.java:705) at javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:820) at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1639) at javax.swing.JComponent.processKeyBinding(JComponent.java:2851) at javax.swing.JComponent.processKeyBindings(JComponent.java:2886) at javax.swing.JComponent.processKeyEvent(JComponent.java:2814) at java.awt.Component.processEvent(Component.java:6065) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4651) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4481) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676) at java.awt.Component.dispatchEventImpl(Component.java:4523) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4481) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643) at java.awt.EventQueue.access$000(EventQueue.java:84) at java.awt.EventQueue$1.run(EventQueue.java:602) at java.awt.EventQueue$1.run(EventQueue.java:600) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:616) at java.awt.EventQueue$2.run(EventQueue.java:614) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:613) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

20 Mart 2013 Çarşamba


Merhabalar,

Bu makalede anlatmak istediğim konu, genelde karşımıza çıkan ama düzeltmek için bazen saatler harcayabileceğimiz ufak tefek problemlerden biridir.. Ben bu makalede mysql kullanıcılarına hitap etmekteyim. Mysql siz aksini belirtmediğiniz taktirde, tarihsel veritabanı sonuçlarını ekrana yansıtırken yerel ve global değişken olarak varsayılan, yani (en_US) ingilizce sonuçları yansıtır..

mysql> SELECT @@lc_time_names;
+-----------------+
| @@lc_time_names |
+-----------------+
| en_US           |
+-----------------+
1 row in set (0.00 sec)

mysql> SELECT @@global.lc_time_names;
+-----------------+
| @@global.lc_time_names |
+-----------------+
| en_US           |
+-----------------+
1 row in set (0.00 sec)

mysql> SELECT DAYNAME('2010-01-01'), MONTHNAME('2010-01-01');
+-----------------------+-------------------------+
| DAYNAME('2010-01-01') | MONTHNAME('2010-01-01') |
+-----------------------+-------------------------+
| Friday                | January                 |
+-----------------------+-------------------------+
1 row in set (0.00 sec)
Kullanıcı isterse bu sonuçları değiştirebilir..Bunun için mysql komut satırında yapılması gereken birkaç işlem vardır... Bunun için lc_time_names  sistem değişkeni ve global.lc_time_names  değişkenlerinin varsayılan (en_US) yerel ayarlarını (tr_TR)olarak değiştirmek gerekmektedir.


mysql> SET lc_time_names = 'tr_TR';
Query OK, 0 rows affected (0.00 sec)


mysql> SET @@global.lc_time_names=tr_TR;

Query OK, 0 rows affected (0.00 sec)

Sorguyu tekrar yaptığımızda sonuşların Türkçe çıktığını göreceksiniz..
mysql> SELECT DAYNAME('2010-01-01'), MONTHNAME('2010-01-01');
+-----------------------+-------------------------+
| DAYNAME('2010-01-01') | MONTHNAME('2010-01-01') |
+-----------------------+-------------------------+
| Cuma                | Ocak                 |
+-----------------------+-------------------------+
1 row in set (0.00 sec)



.Aşağıda yerel ayarlar için gereken değişkenler yer almaktadır..
ar_AE: Arabic - United Arab Emiratesar_BH: Arabic - Bahrain
ar_DZ: Arabic - Algeriaar_EG: Arabic - Egypt
ar_IN: Arabic - Indiaar_IQ: Arabic - Iraq
ar_JO: Arabic - Jordanar_KW: Arabic - Kuwait
ar_LB: Arabic - Lebanonar_LY: Arabic - Libya
ar_MA: Arabic - Moroccoar_OM: Arabic - Oman
ar_QA: Arabic - Qatarar_SA: Arabic - Saudi Arabia
ar_SD: Arabic - Sudanar_SY: Arabic - Syria
ar_TN: Arabic - Tunisiaar_YE: Arabic - Yemen
be_BY: Belarusian - Belarusbg_BG: Bulgarian - Bulgaria
ca_ES: Catalan - Spaincs_CZ: Czech - Czech Republic
da_DK: Danish - Denmarkde_AT: German - Austria
de_BE: German - Belgiumde_CH: German - Switzerland
de_DE: German - Germanyde_LU: German - Luxembourg
EE: Estonian - Estoniaen_AU: English - Australia
en_CA: English - Canadaen_GB: English - United Kingdom
en_IN: English - Indiaen_NZ: English - New Zealand
en_PH: English - Philippinesen_US: English - United States
en_ZA: English - South Africaen_ZW: English - Zimbabwe
es_AR: Spanish - Argentinaes_BO: Spanish - Bolivia
es_CL: Spanish - Chilees_CO: Spanish - Columbia
es_CR: Spanish - Costa Ricaes_DO: Spanish - Dominican Republic
es_EC: Spanish - Ecuadores_ES: Spanish - Spain
es_GT: Spanish - Guatemalaes_HN: Spanish - Honduras
es_MX: Spanish - Mexicoes_NI: Spanish - Nicaragua
es_PA: Spanish - Panamaes_PE: Spanish - Peru
es_PR: Spanish - Puerto Ricoes_PY: Spanish - Paraguay
es_SV: Spanish - El Salvadores_US: Spanish - United States
es_UY: Spanish - Uruguayes_VE: Spanish - Venezuela
eu_ES: Basque - Basquefi_FI: Finnish - Finland
fo_FO: Faroese - Faroe Islandsfr_BE: French - Belgium
fr_CA: French - Canadafr_CH: French - Switzerland
fr_FR: French - Francefr_LU: French - Luxembourg
gl_ES: Galician - Spaingu_IN: Gujarati - India
he_IL: Hebrew - Israelhi_IN: Hindi - India
hr_HR: Croatian - Croatiahu_HU: Hungarian - Hungary
id_ID: Indonesian - Indonesiais_IS: Icelandic - Iceland
it_CH: Italian - Switzerlandit_IT: Italian - Italy
ja_JP: Japanese - Japanko_KR: Korean - Republic of Korea
lt_LT: Lithuanian - Lithuanialv_LV: Latvian - Latvia
mk_MK: Macedonian - FYROMmn_MN: Mongolia - Mongolian
ms_MY: Malay - Malaysianb_NO: Norwegian(Bokmål) - Norway
nl_BE: Dutch - Belgiumnl_NL: Dutch - The Netherlands
no_NO: Norwegian - Norwaypl_PL: Polish - Poland
pt_BR: Portugese - Brazilpt_PT: Portugese - Portugal
ro_RO: Romanian - Romaniaru_RU: Russian - Russia
ru_UA: Russian - Ukrainesk_SK: Slovak - Slovakia
sl_SI: Slovenian - Sloveniasq_AL: Albanian - Albania
sr_YU: Serbian - Yugoslaviasv_FI: Swedish - Finland
sv_SE: Swedish - Swedenta_IN: Tamil - India
te_IN: Telugu - Indiath_TH: Thai - Thailand
tr_TR: Turkish - Turkeyuk_UA: Ukrainian - Ukraine
ur_PK: Urdu - Pakistanvi_VN: Vietnamese - Viet Nam
zh_CN: Chinese - Chinazh_HK: Chinese - Hong Kong
zh_TW: Chinese - Taiwan Province of China
Referans : http://dev.mysql.com/doc/refman/4.1/en/locale-support.html