際際滷

際際滷Share a Scribd company logo
MUSTAFA KEMAL N聴VERS聴TES聴
  HASSA MESLEK YKSEKOKULU

  Hal脹 Y脹kama Takip Otomasyonu R-3


Sistem Analizi ve Tasar脹m Dersi Bitirme
                Projesi

            RECEP GLL
              108104020
Proje Tasar脹m脹 ve Sonradan Eklenen Kodlar




 Ana pencere tasarlan脹rken u ad脹mlar izlendi:
 1.   Ana pencerenin oluturulmas脹 ve 巽al脹t脹r脹lmas脹.
 2.   Metotlara b旦lme ve constructerdan 巽a脹r脹lmas脹.
 3.   Pencere i巽erisinde 旦gelerin oluturulmas脹 ve yerletirilmesi.
 4.   Action 旦zellii verme.
Ana Pencerenin Oluturulmas脹 ve al脹t脹r脹lmas脹




         Ana pencere Java programlama dilinin swing k端t端phanesinden
JFrame s脹n脹f脹 miras (extends) al脹narak oluturuldu. Miras alma ilemi
sayesinde program yaz脹l脹rken kodlar uzun bir ekilde s脹ralanmad脹 ve yaz脹m
kolayl脹脹 salanm脹 oldu.
Yan tarafta JFramenin nas脹l oluturulaca脹 g旦sterilmekte- dir.
setTitle ile penceremize bir bal脹k eklenebilir, setSize ile boyutu,
setLocationRelativeTo ile penceremizin ekran脹n hangi konumunda
a巽脹laca脹n脹 ayarlayabiliriz. setResizable ile yeniden boyutland脹rma 旦zellii
deitirilebilir, setVisible ile pencerenin g旦r端n端rl端端 salan脹r ancak; bu kod
yaz脹lmaz veya false yaz脹l脹rsa pencere 巽al脹脹r fakat g旦r端nmez.
setDefaultCloseOperation pencerenin kapat脹ld脹脹 zaman ger巽ekleecei
ilemi belirleriz.
Metotlara B旦lme ve Constructer dan a脹rma


                              Constructer: Program 巽al脹t脹r脹ld脹脹nda
                   derleyicinin ilk 巽al脹t脹raca脹 metottur. Bu
                   y端zden bu metot ne kadar k脹sa olursa o kadar
                   elverili olur.
                              Yan tarafta g旦sterildii gibi kodlar
                   farkl脹 kod bloklar脹na b旦l端nebilir. Bu saye- de
                   kodlar uzamaz ve deiiklik yap脹lmak
                   istendiinde arad脹脹m脹z脹 bulmakta zorlanmay脹z.




                              S脹n脹f脹m脹z JFrame s脹n脹f脹ndan miras
                   al脹nm脹t脹r. Penceremiz initJFrame metodunda
                   oluturuldu ve constructer dan initJframe();
                   eklinde 巽a脹r脹ld脹. Bu sayede Java programlama
                   dilinin kod yaz脹m脹 s脹ras脹nda bize salam脹
                   olduu kolayl脹脹da g旦rm端 olduk.
Pencere 聴巽erisindeki gelerin Oluturulmas脹 ve Yerletirilmesi




         Yukar脹da bir tablonun nas脹l oluturulduu anlat脹lmaktad脹r. Ben
tablomu olutururken s端tun isimlerini String olarak haliListesi dizisine
atad脹m. Daha sonra tableModelOne ad脹nda bir tablo modeli oluturdum ve
string dizisini bu modele ekledim. Ard脹ndan tableJTable ad脹nda tablo
oluturup modeli bu tabloya ekledim. paneJScrollPane ad脹nda bir scroll
oluturup tablomu scrolla ekledim. 20 sat脹rl脹k bir tablo oluturulmu ve panele
eklenmeye haz脹r vaziyettedir.
Buton Ekleme ve Action Oluturma




        Bu butonu oluturmak i巽in;
JButton addCustemerJButton = new JButton(M端teri Ekle); kodlar脹n脹
yazmak gerekir. Ard脹ndan
                   addCustemerJButton.addActionListener(new ActionListener)
{
                           public void actionPerformed(ActionEvent arg0) {

                                  new AddCustemerGui();
                                                 }
});
Soru Penceresi Oluturma




         Tamam butonuna t脹kland脹脹nda Bu M端teri 聴巽in Hal脹 Kayd脹 Yapmak
聴stiyor musunuz? eklinde bir soru penceresi a巽脹lmaktad脹r. Bu soru
penceresini oluturan kodlar unlard脹r;
Object[] options = { "Evet", "Hay脹r!" };
          int n = JOptionPane.showOptionDialog(null,"Bu M端teri 聴巽in Hal脹 Kay脹d脹 Yapmak 聴stiyor
musunuz?", "Kay脹t Yap脹ls脹n m脹?",

          JOptionPane.YES_NO_OPTION,

          JOptionPane.QUESTION_MESSAGE, null, options,
          options[0]);



             Yukar脹da ki kodlar sayesinde bir YES_NO_OPTION soru penceresi yap脹l脹r.
 Ayr脹ca pencerede istediimiz her eyi deitirebiliriz. Evete bas脹ld脹脹nda m端teri
 ad脹na bir sipari penceresi a巽脹l脹r. 聴ptal ise kay脹t ilemi yap脹lmadan 巽脹k脹 yapar. Bunun
 i巽in bir if karar yap脹s脹 yap脹lmal脹d脹r bu da u ekilde olur;


   if (n == 0) {
               EnterCarpetGui enterCarpet = new EnterCarpetGui();

                  }
   else if (n == 1)
   {

   dispose();

   }
Yap脹lan Hatalar ve D端zeltme Yollar脹

import java.awt.BorderLayout;                     Yan tarafta javan脹n dier s脹n脹flardan
import java.awt.Color;                  veri almas脹n脹 salayan import kodlar脹ndan
import java.awt.event.ActionEvent;      baz脹lar脹 vard脹r. Baz脹lar脹 dedim 巽端nk端
import java.awt.event.ActionListener;   ezberlenmesi kolay olmayacak kadar fazlad脹r.
import javax.swing.BorderFactory;       Bu y端zden ctrl+shift+O kullan脹larak gerekli
import javax.swing.ImageIcon;           olan importlar脹 巽a脹rabilir kullan脹lmayan
import javax.swing.JButton;             importlar脹 silebiliriz. rnein;
import javax.swing.JFrame;
import javax.swing.JMenu;               JPanel panel = new JPanel(); kodalar脹n脹
import javax.swing.JMenuBar;            yazd脹脹m脹z            zaman         import
import javax.swing.JMenuItem;           jawax.swing.JPanel; importu gelir. Bu kod
import javax.swing.JOptionPane;         yaz脹lmad脹脹     zaman    veya  k脹sa   yolla
import javax.swing.JPanel;              巽a脹r脹lmad脹脹 zaman kod bloumuzda
                                        eklinde hata oluur.
Metot Hatalar脹



         Ayn脹 s脹n脹f i巽erisinde farkl脹 metotlar kullan脹rken, metodumuzun bir ey
d旦nd端rmesini isteyebiliriz. Fakat bunu sonradan yani t端m metodu yazd脹ktan sonra
yapmay脹 d端端n端p metodumuzun sonuna return null; yazabiliriz. Fakat daha
sonradan unutulmamal脹d脹r ki yaz脹lan null yani bo deer yerine d旦nd端r端lmesi
gereken se巽enek yaz脹lmal脹d脹r. Aksi takdirde yaz脹lan metot sadece kodlar aras脹nda
sadece kalabal脹k yapar, bir ie yaramaz.
         Bir dier yapt脹脹m metot hatas脹 ise yazd脹脹m metodu farkl脹 bir s脹n脹ftan veya
dier bir metottan 巽a脹rmay脹 unutmakt脹r. Yaz脹lan metot deer d旦nd端rmekte fakat
dier metot veya s脹n脹flardan 巽a脹r脹lmad脹脹 i巽in alg脹lanmamaktad脹r.
Recep GLL

Beni Dinlediiniz 聴巽in Teekk端rler

More Related Content

Recep rapor 3 sunu

  • 1. MUSTAFA KEMAL N聴VERS聴TES聴 HASSA MESLEK YKSEKOKULU Hal脹 Y脹kama Takip Otomasyonu R-3 Sistem Analizi ve Tasar脹m Dersi Bitirme Projesi RECEP GLL 108104020
  • 2. Proje Tasar脹m脹 ve Sonradan Eklenen Kodlar Ana pencere tasarlan脹rken u ad脹mlar izlendi: 1. Ana pencerenin oluturulmas脹 ve 巽al脹t脹r脹lmas脹. 2. Metotlara b旦lme ve constructerdan 巽a脹r脹lmas脹. 3. Pencere i巽erisinde 旦gelerin oluturulmas脹 ve yerletirilmesi. 4. Action 旦zellii verme.
  • 3. Ana Pencerenin Oluturulmas脹 ve al脹t脹r脹lmas脹 Ana pencere Java programlama dilinin swing k端t端phanesinden JFrame s脹n脹f脹 miras (extends) al脹narak oluturuldu. Miras alma ilemi sayesinde program yaz脹l脹rken kodlar uzun bir ekilde s脹ralanmad脹 ve yaz脹m kolayl脹脹 salanm脹 oldu.
  • 4. Yan tarafta JFramenin nas脹l oluturulaca脹 g旦sterilmekte- dir. setTitle ile penceremize bir bal脹k eklenebilir, setSize ile boyutu, setLocationRelativeTo ile penceremizin ekran脹n hangi konumunda a巽脹laca脹n脹 ayarlayabiliriz. setResizable ile yeniden boyutland脹rma 旦zellii deitirilebilir, setVisible ile pencerenin g旦r端n端rl端端 salan脹r ancak; bu kod yaz脹lmaz veya false yaz脹l脹rsa pencere 巽al脹脹r fakat g旦r端nmez. setDefaultCloseOperation pencerenin kapat脹ld脹脹 zaman ger巽ekleecei ilemi belirleriz.
  • 5. Metotlara B旦lme ve Constructer dan a脹rma Constructer: Program 巽al脹t脹r脹ld脹脹nda derleyicinin ilk 巽al脹t脹raca脹 metottur. Bu y端zden bu metot ne kadar k脹sa olursa o kadar elverili olur. Yan tarafta g旦sterildii gibi kodlar farkl脹 kod bloklar脹na b旦l端nebilir. Bu saye- de kodlar uzamaz ve deiiklik yap脹lmak istendiinde arad脹脹m脹z脹 bulmakta zorlanmay脹z. S脹n脹f脹m脹z JFrame s脹n脹f脹ndan miras al脹nm脹t脹r. Penceremiz initJFrame metodunda oluturuldu ve constructer dan initJframe(); eklinde 巽a脹r脹ld脹. Bu sayede Java programlama dilinin kod yaz脹m脹 s脹ras脹nda bize salam脹 olduu kolayl脹脹da g旦rm端 olduk.
  • 6. Pencere 聴巽erisindeki gelerin Oluturulmas脹 ve Yerletirilmesi Yukar脹da bir tablonun nas脹l oluturulduu anlat脹lmaktad脹r. Ben tablomu olutururken s端tun isimlerini String olarak haliListesi dizisine atad脹m. Daha sonra tableModelOne ad脹nda bir tablo modeli oluturdum ve string dizisini bu modele ekledim. Ard脹ndan tableJTable ad脹nda tablo oluturup modeli bu tabloya ekledim. paneJScrollPane ad脹nda bir scroll oluturup tablomu scrolla ekledim. 20 sat脹rl脹k bir tablo oluturulmu ve panele eklenmeye haz脹r vaziyettedir.
  • 7. Buton Ekleme ve Action Oluturma Bu butonu oluturmak i巽in; JButton addCustemerJButton = new JButton(M端teri Ekle); kodlar脹n脹 yazmak gerekir. Ard脹ndan addCustemerJButton.addActionListener(new ActionListener) { public void actionPerformed(ActionEvent arg0) { new AddCustemerGui(); } });
  • 8. Soru Penceresi Oluturma Tamam butonuna t脹kland脹脹nda Bu M端teri 聴巽in Hal脹 Kayd脹 Yapmak 聴stiyor musunuz? eklinde bir soru penceresi a巽脹lmaktad脹r. Bu soru penceresini oluturan kodlar unlard脹r;
  • 9. Object[] options = { "Evet", "Hay脹r!" }; int n = JOptionPane.showOptionDialog(null,"Bu M端teri 聴巽in Hal脹 Kay脹d脹 Yapmak 聴stiyor musunuz?", "Kay脹t Yap脹ls脹n m脹?", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]); Yukar脹da ki kodlar sayesinde bir YES_NO_OPTION soru penceresi yap脹l脹r. Ayr脹ca pencerede istediimiz her eyi deitirebiliriz. Evete bas脹ld脹脹nda m端teri ad脹na bir sipari penceresi a巽脹l脹r. 聴ptal ise kay脹t ilemi yap脹lmadan 巽脹k脹 yapar. Bunun i巽in bir if karar yap脹s脹 yap脹lmal脹d脹r bu da u ekilde olur; if (n == 0) { EnterCarpetGui enterCarpet = new EnterCarpetGui(); } else if (n == 1) { dispose(); }
  • 10. Yap脹lan Hatalar ve D端zeltme Yollar脹 import java.awt.BorderLayout; Yan tarafta javan脹n dier s脹n脹flardan import java.awt.Color; veri almas脹n脹 salayan import kodlar脹ndan import java.awt.event.ActionEvent; baz脹lar脹 vard脹r. Baz脹lar脹 dedim 巽端nk端 import java.awt.event.ActionListener; ezberlenmesi kolay olmayacak kadar fazlad脹r. import javax.swing.BorderFactory; Bu y端zden ctrl+shift+O kullan脹larak gerekli import javax.swing.ImageIcon; olan importlar脹 巽a脹rabilir kullan脹lmayan import javax.swing.JButton; importlar脹 silebiliriz. rnein; import javax.swing.JFrame; import javax.swing.JMenu; JPanel panel = new JPanel(); kodalar脹n脹 import javax.swing.JMenuBar; yazd脹脹m脹z zaman import import javax.swing.JMenuItem; jawax.swing.JPanel; importu gelir. Bu kod import javax.swing.JOptionPane; yaz脹lmad脹脹 zaman veya k脹sa yolla import javax.swing.JPanel; 巽a脹r脹lmad脹脹 zaman kod bloumuzda eklinde hata oluur.
  • 11. Metot Hatalar脹 Ayn脹 s脹n脹f i巽erisinde farkl脹 metotlar kullan脹rken, metodumuzun bir ey d旦nd端rmesini isteyebiliriz. Fakat bunu sonradan yani t端m metodu yazd脹ktan sonra yapmay脹 d端端n端p metodumuzun sonuna return null; yazabiliriz. Fakat daha sonradan unutulmamal脹d脹r ki yaz脹lan null yani bo deer yerine d旦nd端r端lmesi gereken se巽enek yaz脹lmal脹d脹r. Aksi takdirde yaz脹lan metot sadece kodlar aras脹nda sadece kalabal脹k yapar, bir ie yaramaz. Bir dier yapt脹脹m metot hatas脹 ise yazd脹脹m metodu farkl脹 bir s脹n脹ftan veya dier bir metottan 巽a脹rmay脹 unutmakt脹r. Yaz脹lan metot deer d旦nd端rmekte fakat dier metot veya s脹n脹flardan 巽a脹r脹lmad脹脹 i巽in alg脹lanmamaktad脹r.
  • 12. Recep GLL Beni Dinlediiniz 聴巽in Teekk端rler