30 Haziran 2013 Pazar

Java Gui--14(Grafikler)




         Java da grafik çizdirebilmek için “paint(Graphics g)” metodunu kullanıyoruz. Basit bir şekilde aşağıdaki gibi bir kod yazarak grafiklerimizin penceremizde görünmesini sağlayabiliriz.

import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;

public class GraphicsDemo extends JFrame implements ActionListener{
    public GraphicsDemo( ){
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300, 300);
        setVisible(true);
    }
    public void paint(Graphics g){
        super.paint(g);
        //Kodlar Buraya
    }
    public void actionPerformed(ActionEvent event){
       
    }
    public static void main(String[ ] args) {
        GraphicsDemo demo = new GraphicsDemo( );
    }
}

         super.paint(g);” cümlesi ile Graphics sınıfına ait “g” nesnesini kullanmamızı sağlar. Aşağıda da “g” nesnemiz kullanılarak bazı şekiller hakkında bilgi verilmiştir.

Doğru

g.drawLine(int x1,int y1,int x2,int y2);/*x1 ve y1 noktası ile x2 ve y2 noktalarını birleştirerek doğruyu oluşturur.*/

Dörtgen

g.drawRect(int x,int y,int width,int height);//içi boş çizim
g.fiilRect(int x,int y,int width,int height);//içi dolu çizim
g.clearRect(int x,int y,int width,int height);//pencere rengiyle ayni renkte dörtgen
g.drawRoundRect(int x,int y,int width,int height,int arcWidth,int arcHeight);//Köşeleri oval dörtgen , içi boş
g.fillRoundRect(int x,int y,int width,int height,int arcWidth,int arcHeight);//Köşeleri oval dörtgen , içi dolu

Oval

g.drawOval(int x,int y,int width,int height);
g.fillOval(int x,int y,int width,int height);

Daire-Çember

g.drawArc(int x,int y,int width,int height,int startAngle,inta rcAngle);/*arcAngle kaç derecelik bir çember parçası oluşturacağını belirler. Eksi değer  alabilir.*/
g.fillArc(int x,int y,int width,int height,int startAngle,int arcAngle);/*arcAngle kaç derecelik bir daire parçası oluşturacağını belirler. Eksi değer alabilir.*/

Çokgen

g.drawPolygon(int[] xPoints,int[] yPoints,int nPoints);
g.drawPolygon(int[] xPoints,int[] yPoints,int nPoints);

Örnek //Aşağıdaki örnekte iki kare ve bir buton bulunmaktadır. Butona basıldıkça bu kareler birbirine yaklaşmaktadır.

import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;

public class GraphicsDemo extends JFrame implements ActionListener {

    JButton buton = new JButton("Yaklas");
    int a = 0;
    int b = 440;
    public GraphicsDemo( ) {
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(500, 200);
        setVisible(true);
        add(buton , BorderLayout.SOUTH);
        buton.addActionListener(this);
    }

    public void paint(Graphics g) {
        super.paint(g);
        g.setColor(Color.red);
        g.fillRect(10 + a, 70, 50, 50);
        g.fillRect(b - a, 70, 50, 50);
       
    }

    public void actionPerformed(ActionEvent event) {
          a += 10;
          repaint( ); 
    }

    public static void main(String[ ] args) {
        GraphicsDemo demo = new GraphicsDemo( );
    }
}
  

Ekran Görüntüleri



29 Haziran 2013 Cumartesi

MySQL 9 (Birden Fazla Tabloda Sorgu)



                Öncelikle iki yeni tablo oluşturdum.Bunlardan birincisi “kitap” tablosu kitap adı ve yazar bilgisini saklıyor.İkinci tablom ise “fiyat” isminde ve fiyatlari tutuyor.




                Şimdi sorgulama işlemine geçebiliriz.Bunun için aşağidaki sorgu mantığını kullanabiliriz;

SELECT sutun_adları FROM tablo_adları
WHERE tablo1.sutun1 = tablo2.sutun2;

SELECT ad,yazar,fiyat FROM kitap,fiyat
WHERE kitap.no = fiyat.no;

                “Select” komutundan sonraki sütun adları sorgu sonrası dönderilecek sütunları belirtiyor. “From” komutundan sonraki tablo adları ise sorgunun yapılacağı tablo isimlerini belirtiyor. “Where” den sonraki ifade ise tablo1 de işaret edilen sutun1 ile tablo2 deki işaret edilen sutun2 yi denk olarak alması gerektiğini belirtiyor.Bunu örnekteki ifade üzerinden inceleyecek olursak kitap tablosundaki no sütunu ile fiyat tablosundaki no sütunu sorgu itibariyle denk kabul ediyor ve aynı değerler bulunan satırları tek bir satır halinde bize geri dönderiyor.Örnegin kitap.no sütunundaki “2” değeri ile fiyat.no daki “2” değerini karşılastırıyor ve eşit olduğunda bu her iki tablodaki değerleri bir sütunmuş gibi ekranda gösteriyor.Yukarıdaki sorgu için ekran görüntüsü:



                Genel olarak yukarıdaki gibi sorgu yapilabilir.Bunun haricinde ise “NATURAL JOIN ”, “JOIN ….. ON …..” komutları da kullanilabilir.Yukarıdaki örnek için bu komutların kullanımı aşagidaki gibidir:

SELECT fiyat,ad,yazar FROM kitap NATURAL JOIN fiyat;

SELECT ad,yazar,fiyat FROM kitap
JOIN fiyat ON kitap.no = fiyat.no;


28 Haziran 2013 Cuma

MySQL 8 (Fonksiyonlar)




ABS(A)
A’nın mutlak değeri
POW(A,B)
A’nın B’inci kuvveti
MOD(A,B)
A’nın B’ye bölümünden kalan
CEILING(A)
A’yı aşağı doğru en yakın tamsayıya yuvarlar
FLOOR(A)
A’yı yukarı doğru en yakın tamsayıya yuvarlar
PI()
Pi sayısı
LN(A)
A’nın logaritması
LOG10(A)
A’nın 10 tabanına göre logaritması
LEAST(A,B,C)
A , B , C sayılarının en küçüğü
GREATEST(A,B,C)
A , B , C sayılarının en büyüğü
DEGREES(A)
A radyan değerini dereceye çevirir
RADIANS(A)
A derece değerini radyana çevirir
RAND(A)
A sayısını randum olarak üretir
COS(A)
A ’nın kosinüs değerini hesaplar
SIN(A)
A’nın sinüs değerini hesaplar
TAN(A)
A’nın tanjant değerini hesaplar
MIN(sütun)
Sütundaki en küçük değeri seçer
MAX(sütun)
Sütundaki en büyük değeri seçer
SUM(sütun)
Sütundaki değerleri toplar
AVG(sütun)
Sütundaki değerlerin ortalamasını hesaplar
COUNT(sütun)
Sütundaki veri sayısını bulur
STDDEV(sütun)
Sütundaki verilerin standart sapmasını bulur
VARIANCE(sütun)
Sütundaki verilerin varyansını bulur




Mysql de yukarıdaki fonksiyonlar tanımlıdır. Kullanımları ise oldukça basittir. Örneğin belirli bir sütundaki veri sayısını hesaplamak için “COUNT()” fonksiyonunu kullanabiliriz. Bunun için komut satırımız aşağıdaki gibi olabilir;

SELECT COUNT(sutun_adı) FROM  tablo_adı;
            
           Matematiksel işlemler içinde yukarıdaki fonksiyonlardan yararlanabiliriz. Yukarıdaki fonksiyon ve dört işlem örnekleri aşağıdadır:

SELECT 82 / 4; (Sonucu float olarak dönderir)

SELECT 89 % 3;(Kalan işlemi)

SELECT POW(3,6);(3 üzeri 6)

SELECT LEAST(4,2,56);(Sayıların en küçüğü 4)

SELECT FLOOR(1.56);(1 değerini dönderir)

27 Haziran 2013 Perşembe

MySQL 7(Sütun işlemleri)


Tablo ismini değiştirmek için;

ALTER TABLE tablo_adı RENAME tablo_adı(yeni);

ALTER TABLE uye RENAME uyeler; //uye tablosunun ismini uyeler olarak değiştirir. 

Tablodaki sütunun veri tipini değiştirmek icin;

ALTER TABLE tablo_adı MODIFY sütun_adı yeni_veritipi;

ALTER TABLE uyeler MODIFY no SMALLINT;//uyeler tablosundaki no sütununun değeri smallint olarak değiştirildi. 

Yeni sütun eklemek için;

ALTER TABLE tablo_adı ADD yeni_sütunun_adı veri_tipi;

ALTER TABLE uyeler ADD yil int;//uyeler tablosuna int değerli yil sütunu eklenir.

 Sütuna yeni isim vermek icin;

ALTER TABLE tablo_adı CHANGE şimdiki_ad yeni_ad veri_tipi;

ALTER TABLE uyeler CHANGE ogr ogrenci varchar(12);//ogr  sütununun adı ogrenci olarak değiştirildi ve 
veri tipi varchar(12) olarak düzenlendi.

Sütunu silmek için;

ALTER TABLE tablo_adı DROP sütun_adi;

ALTER TABLE uyeler DROP yil;//uyeler tablosundaki yil sütunu silinir.

Tabloyu silmek için;

DROP TABLE tablo_adi;

Mysql şifremizi değiştirmek için;

Set password = password(“12345”);//Şifreyi 12345 olarak değiştirir.Server ‘ ı kapatıp açtığımızda konsol bizden şifre isteyecektir.