Arkadaşlar küçük bir ekran yapalım.swing le yapalım. Programlarımızı süsleyebilmek için Proje de saga tıklayıp new diyoruz. Normal java classı kullanacağız.swing kullanmayacağız. KopekEkran diye bir class oluşturalım. Bütün ekranlarımı proje deekranlar paketine koyarım. Ekranlarda bir sorun olduğunda nerde arayacağımı bilebilirim. Gidip ekran paketini genişletip içerisi ile uğraşırım.
Extends karşısında Browse tıklayalım. JF diyip JFrame işaretleyip ok diyelim. Bütün swing ekranları JFrame classından extend eder.özelliklerini ordan alır.
Public, Constractor,Main metod koyabiliriz. Aslında ekranların içine daha sonar main metod koymayacağız. Başka bir metod bunu çalıştıracak. Şimdilik kendi başına çalışabilsin diye main metod koyalım. JFrame birşey dizayn ettiği zaman source dan design geçiyor. Bir tane ekran oluşturdu. Sag alt kısımda ki properties kısmını çok kullanacağız.onu genişletelim Tools preferences environment Dockable Windows
Sağ alt kısmı katmak istiyorum.tıklayalım.tıklayınca uzamış oluyor.
Ok dediğimizde properties uzamış olacaktır. Sağa doğru uzamasına gerek yoktu properties daha çok kullanıyordum.alttaki kısmıda properties katmak için yaptım. Ekranın layout ını null yapın
Java da çok advance yönetim framework leri vardır. Gridback Layouti Border Layout ve vb.. Bunlar küçük ekran yaptınız butonlar koydunuz. Tam pencereyi kapla dediğinizde butonlarda büyüyor. Herşeyde büyüyor. Mesala büyük bir monitor konuldu biryere programı tanıtırken programı büyüttüğünüzde butonlarda büyüyor. Tam ekranı kaplıyor. Ekran yönetim gereçleri onu sağlamaktadır. Siz null yaptığınızda aynı Delphi ekranı gibi yapmış oluyorsunuz. Ben üzerinde hangi compenenti koyarsam koyduğu yerde bırak. Birtane buton koyalım.ekranın layout null yaptım
Özelliklerine geliyorsunuz text(yazısı). Bas yazdığımda butonun adı bas oldu.buton eklediğinizde Source koda geldiğimizde source kodu hemen değişti bir buton eklendi.constructor içinden jbinit diye bir metod çağırmış. jbinit() komutuda koyduğu compenentin yerini ayarlıyor.textini yazıyor.
jbinit çağırması kötüdür. Her IDE farklı şekilde yapmaktadır. Swing projelerini bir IDE den başka bir IDE ye taşımak zordur. Mesala jdeveloper dan eclipse taşımak. Eclipse den Netbeans e taşımak zordur. Java yukardaki yeri açık bırakmış.aslında constractor içinde ortak bir şey çağırılsa iyi olur. Bildiğiniz java kodu notepad de de çalışır.ortak birşey çağırılsa hepsinde taşınabilecektir.jdeveloper komutun adına jbinit demiş. Exclipse komutun adına constract diyor.netbeans komutun adına nbconstract diyor. Source herzaman çalışabilirsiniz ama Design bölümünü desteklememektedir.jdeveloper daki kodu alıp exlipse koyduğunuzda jbinit destekleyip Design göstermiyor. Web projelerinde böyle bir sorunumuz yoktur. jbinit komutu olmadığı için wor dosyası oluşturup bir IDE den diyer bir IDE ye taşıyabiliyoruz. Swing projlerini taşınamaz olduğu için çok kullanmayacağız.swing projesi yapacaksanız bütün developerlar ortak bir ide kullanmalıdır.jdeveloperse Jdeveloper eclipse ise eclipse Web te öylebir zorunlıluğunuz yoktur. jbinit de jbuilder dönemlerinden kalmaktadır. Jdeveloper yoktu. Oracle jbuilder1.0 ın ilk sürümünü satın aldı.daha sonra kodunu da satın aldılar. Daha sonra Jdeveloper3 diye kendi javalarını çıkardılar. Ordaki mantıktan yararlanarak kendi IDE lerini çıkardılar. Jdeveloper9 dan itabarende jbuilder kullanmadan kodundan bağımsızfarklı birşey yazdıklarını söylediler.ama jbinit komutu jbuilder çağrıştırmaktadır. Jbuilder a da taşınabilsin. Bir tane label alalım.
Butonun üzerine çift tıklayalım. Burda da get ve set lerle yapıldığına dikkat edelim.butonların isimlerin atanması labellerin atanması settext( Merhaba ) Butona basıldığında label da merhaba yazacak.birşey eksik kaldı. Bu java swing dir web tabanlı değildir.aynı client java programlama dediğimiz java swing dir. Çalıştırdığımda Bas butonuna bastığımda
Ekrana Merhaba yazdı. Daha sonra yazdığımız sayısal lota ya ekran yapacaz. Processler programı her çalıştırdığımda açık kalıyor. Tedbirini almamız gerekmektedir. X kapatığımda çıkması lazım ama çıkmıyor. Process birikiyor birikiyor ram den yemeye başlıyor.swing projelerinde de bunun tedbirini alacağız. Bir ekran yapacaksanız extens JFrame diyeceksiniz. Özelliklerini JFrame den alacak. Ordan alıncada hemen bir ekran oluyor.köşede büyütme düğmesi çarpı düğmesi hepsi JFrame Classından geliyor. Bir classın kodunu merak ederseniz. Mesala JFrame kodunumu merak ediyorsunuz saga tıklayıp Go to Declaration tıklıyoruz.görebiliyoruz. Butona bastığımda o butonun actionperformed gider. Bastığında ne yapacak.çalışması için yeterli değil Maine Eklemeniz gerekiyor.
Hayvanadan bahçesi projes Projelerin çalıştır diye main classı olur r