Tekrardan merhaba, söz verdiğim gibi “Bir Kahve Molası – Java” yazı dizimize kaldığımız yerden devam ediyorum.Java yazı dizilerimi ilk defa görüyor ve bu başlıkla okumaya başlıyorsanız ilk önce diğer başlıklara sırasıyla gözatmanızı öneririm :Başlangıç( 1. Bölüm ) : Bir Kahve Molası – Java [Bölüm 1]Hesap Makinesi( 2. Bölümün 1. Kısmı ) : Bir Kahve Molası – Java [Bölüm 2-1]Şimde kaldığımız yerden devam ediyoruz :Hatırlarsınız en son tasarımımızı hazırlamıştık, ilk önce projemizi açalım :
Son Tasarımımız
Şimdi yapmamız gereken kodlamanın bir tasarımını çıkartalım :1. Aşama :
Butonlardan sayı olanlara tıklandığında ardı ardına gelen bir string ifademiz olacak ve her sayıya tıklandığında bu ifade genişleyecek.Örnek : ilk önce 1 tuşuna bastık, daha sonra 3 tuşuna bastık. Elimizdeki sayı : 13 oldu. Ardından bir de 4 tuşuna basarsak sonucumuz 134 olacaktı.2. Aşama :
elde edilen bu sayı 4 işlem yada eşittir tuşlarına basıldığında hafızaya alınacak ve 2. sayı için beklemeye geçilecek. Eğer daha önceden zaten bir sayı bulunuyorsa basılan işleme göre yazılan sayı işleme girecek ve sonuç ekrana yazdırılacak.Örnek : 13 sayımızı girdik daha sonra tuşuna bastık ve 12 sayısını girdik. sonucumuz 25 gösteriyor. Bundan sonra – ye bastık ve 21 girdik, sonuç olarak 4 gösterilmesi gerekiyor.3. Aşama :
C tuşuna basıldığında hafızadaki ilk sayı ve girilen sayılar silinecek, 0 dan işlemlere tekrardan başlanabilecektir( reset tuşu olarak düşünün )4. Aşama :
Projemizin çalışıp çalışmadığını detaylı bir şekilde test edin. Hatalı yer varsa yorum olarak bildirin :)Plan Haritamızı okuduysanız aklınızda bir sistem canlanmış demektir. Şimdi bu sistemi hayata geçirmek için gerekli adımları atıyoruz :1.Aşama( Sayı Butonlarına Tıklanma ) :
0 dan 9 a kadar olan sayılarımızın butonları formumuzda mevcut ve hepsinin bir isim değeri var hatırlarsanız. Bunları ben “Buton1”, “Buton2”, “Buton3″… şeklinde adlandırdım. Adlandırmayı yapmayı unuttuysanız şu şekilde yapabilirsiniz :
Not : Adlandırma, kod kısmı içerisinde bu elemana erişeceğimiz ismi belirliyor. Örnek vermek gerekirse : Buton1 adını koyduğumuz elemanın özelliklerine kod içerisinden
Buton1.text = “Butonun Texti”;şeklinde erişebilmekteyiz.
Adlandırma işlemini tamamladıysanız sıra geldi kodlama kısmına:Sol menüdeki projects sekmesinden Source Packages > hesapmakinesi nin üzerine gelin. Sağ tıklayın New > Java class deyin. İsmine islemler deyip Finish tuşuna basın.İşlemlerimizin tamamını düzen için yeni açtığımız bu dosyadan gerçekleştireceğiz. Rahat anlayabilmeniz için yazdığım dosyanın içerisine her eleman ve işlem için gerekli açıklamayı yaptım.
Java’nın class yapısını bir sonraki dökümanda yazmak zorundayım. Burada class yapısına değinmemiz durumunda kafanız çok karışacak. Tek bilmeniz gereken : Projeyi parçalara ayırmanıza, sadece gereken yerde gereken işlemlerin kullanılmasına ve projenizin rahatça genişletilebilmesine yarar class. Daha geniş bir tanım arıyorsanız OOP( Object Oriented Programming )’yi araştırabilirsiniz.
İşlemler Sınıfımızın içeriği :
Bu sınıfın içerisinden işlemlerimizi gerçekleştireceğiz. İşlemlerin içeriğini henüz yazmadık, sadece bir taslak hazırladık. Şimdi esas tasarımımızın olduğu HesapMakinesiView.java adlı dosyamıza geçiyoruz ve bu işlemleri yapabilmemiz için gerekli tanımlamaları yapıyoruz :public class HesapMakinesiView extends FrameView { yazan yerin tam altına şunları ekliyoruz :
Bunları ekledikten sonra Islemler adlı classımızı bu class içerisinde kuruyoruz :
yazan yeri buluyoruz ve kapanış etiketinden önce( ‘}’ ) :
kodumuzu ekliyoruz.
Not : Netbeans programında kapanış etiketini bulmak için açılış etiketinin soluna ya da sağına tıklayın. Açılış etiketinin arkaplan rengi sarıya döndüğünde sayfanın yavaşça aşağısına inip arkaplanı sarı renkte olan ‘}’ karakterini bulun.
Artık Islemler sınıfımızı HesapMakinesiView sınıfı içerisinden kullanabileceğiz.Sıra geldi sayı tuşlarımıza tıkladığımızda olacak işlemleri tanımlamamıza.
Hatırlatma :
1. Aşama :
Butonlardan sayı olanlara tıklandığında ardı ardına gelen bir string ifademiz olacak ve her sayıya tıklandığında bu ifade genişleyecek.Örnek : ilk önce 1 tuşuna bastık, daha sonra 3 tuşuna bastık. Elimizdeki sayı : 13 oldu. Ardından bir de 4 tuşuna basarsak sonucumuz 134 olacaktı.
Hatırlarsanız bu işlemleri yapabilmek içinpublic int m_IlkSayi = 0;public String m_IslemTipi = null;public Islemler m_Islemler;alanlarını eklemiştik. Şimdi sıra geldi o alanlarımızı kullanmaya :Önceki yazımda anlattığım gibi Netbeans içerisinde her nesnenin özelliklerinin ve etkileşimlerinin tutulduğu bir alan var. Bu alanın içerisinde 4 adet sekme var ve bu sekmelerden düzenlemelerimizi hızlı bir şekilde yapabiliyoruz. Şimdi bu sekmeleri kullanma vakti.0 ile 9 arası tüm rakamlar için sadece yazdırma işi yapacağımız için kod kısmına gelip ilk başta pratik bir metod yazmamız, hem koddan, hemde alandan bize kâr elde ettirecektir.Source kısmına geçiyoruz,
Bu kısmı bulup altına yeni bir fonksiyon tanımlıyoruz :
Bunu eklediysek, tekrardan tasarım( Design ) kısmına geçelim ve 0 butonunun mouseClicked eventını bulup sağındaki aşağı okuna tıklıyoruz. Bir adet metod çıkaracaktır, ona tıkladığınızda otomatik olarak bir kod alanı çıkaracaktır. Çıkan alanın içerisine şu kodu yerleştiriyoruz :
Bunu 0 dan 9 a kadar tüm tuşlar için uyguluyoruz.Örnek : 2 butonu için ButonaBasildi( 2 ); yazmalıyız.
Kolaylık :Netbeans’ın bize sağladığı kolaylıklar saymakla bitmiyor. Bunlardan güzel bir tanesi daha : Tasarım alanında elemanı seçip events kısmına gidip oradan tekrardan bir araştırmaya girip istediğiniz eventı bulmaya kasmak istemiyorsanız pratik olarak seçmek istediğiniz elemana sağ tıklayıp Events alanından gruplandırılmış eventlardan istediğimizi daha hızlı bir şekilde seçebiliriz.
Bunu uyguladıktan sonra public void ButonaBasildi( buton_id ) adlı fonksiyonumuzun içerisini artık yazabiliriz.( 1. Aşamanın son öğesi )İlk önce sonucun gösterileceği alana gelelim ve variable name’ini sonuc yapalım. Daha sonra yazdığımız sayının gözükeceği alana gelelim ve variable name’ini hesap_formulu yapalım. Daha sonra kodumuza geçelim :
Bu fonksiyonu eklemişseniz ve eventları da düzgün bir şekilde yapabilmişseniz artık sayı girişimiz kullanılabiliyor haldedir. CTRL + F5 tuşlarına basarak projenizi compile edip denemeye başlayın. Sonucu gözlemleyin :)Sonucu gözlemlediyseniz 1. aşamamızı ve büyük bir kısmı başarıyla bitirdik demektir.2. Aşama
İlk aşamayı atlattık, artık rahat bir nefes alabilir miyiz? Malesef hayır :)Şimdi işlemlerimizin yapılacağı kısma geldik. Bunun için kahvenizi hazır tutmanızı ya da gidip hazırlamanızı tavsiye ediyorum. Siz hazırlayadurun ben birkaç fonksiyon karalayayım aşağıya, gelince okursunuz :)İşlemlerimizin yapılacağı Islemler.java dosyamıza gözatıyorum :
Şimdi bize gerekli olan kodları teker teker yerleştiriyorum( eski yorumları karmaşıklık olmasın diye sildim ) :
2. kısımda düşündüğümüz tüm işlemler bunlar. Tasarım kısmımıza dönüp 4 işlem ve eşittir tuşlarının tıklanma anlarına gereken fonksiyonları yazalım :Eşittir için :
Toplama için :
Çıkarma için :
Bölme için :
Çarpma için :
Bu işlemleri tamamladıysak artık 4 işlem ve eşittir fonksiyonlarını da tanıyor ve hesap makinesi işlevini yerine getirmeye başlamış demektir. Hemen CTRL + F5 ile debug modunda açıyoruz ve testimizi yapıyoruz.Testimiz başarılı olmuşsa hesap makinemizin neredeyse tamamını bitirdik demektir. Sıra geldi 3. kısım – değerleri sıfırlamaya :Değer sıfırlamak için Islemler içerisindeki Sifirla fonksiyonumuzu şu şekilde düzenliyoruz :
Daha sonra tasarım kısmına geri dönüp eşittir işaretimizin mouseClick eventının içerisine
kodunu ekliyoruz. Bunu da yaptıysak bu kısmı da atlattık demektir.Artık tam teşekküllü bir tam sayı hesap makinemiz var. Bütün denemelerinizi yapın bende bu arada bir kahve daha dolduracağım( kahve komasına girmeyi kafaya koydum da 😛 )Klavye yollarını da yazacaktım fakat şuanda ağar gelebilir. Hesap makinemize devam ettiğimiz süre zarfında bir çok şey daha ekleyeceğiz. Lisanda sürçme olduysa affola, konu bütünlüğünden kopmuş olabilirim, çünkü Java’yı sizlerle beraber bende yeni keşfetmekteyim. Bu yazıyı yazmadan önce 100lerce deneme yapmam gerekiyor 🙂 Umarım herkese yararlı bir makale olmuştur.Şimdilik bukadar gelecek bölümlerde görüşmek üzere, kendinize iyi bakın…Kodlar :
.jar ( Çalıştırılabilir-Derlenmiş Dosya ) : Buradan.java ( Kaynak Dosyalar + Derlenmiş Dosya ) : Buradan