06.03.2015 Views

Java Kitabı

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Kaynaklardan Frame ile ilgili olarak kullanabileceğim diğer teknikleride araştırmaya<br />

başladım. Örneğin, X butonunun aksine, Minimize ve Maksimize butonları çalışıyor<br />

dolayısıyla Frame penceresi mimimize edilebiliyor yada maksimize olabiliyordu.<br />

Derken aklıma, bu Frame’ in Maksimize edilmek istendiğinde, belirli yükseklik ve<br />

genişliğin üstüne çıkmamasını nasıl sağlayabileceğim sorusu geldi. Bunun için<br />

setMaximizedBounds() isimli bir metod buldum. Bu Frame sınıfına ait metoda<br />

Rectangle sınıfı türünden bir nesne parametre olarak aktarılabiliyordu. Bu Rectangle<br />

nesnesi, bir dortgen şeklini boyutları ve konumları ile bildirebildiğinden,<br />

setMaximizedBounds metodu sayesinde, Frame penceresi belirtilen Rectangle<br />

nesnesinin boyutları kadar büyüyebilecekti. Hemen bu durumu analiz etmek amacıyla<br />

uygulama kodlarını aşağıdaki gibi geliştirdim.<br />

Rectangle r=new Rectangle(500,500);<br />

pencere.setMaximizedBounds(r);<br />

Burada Rectangle sınıfından nesne örneğini oluştururken, parametre olarak genişlik<br />

ve yüksekliği bildirdim. İlk parametre Rectangle nesnesinin genişliğini, ikinci<br />

parametre ise yüksekliğini belirtmekteydi. Daha sonra, setMaximizedBounds<br />

metoduna, bu Rectangle nesnesini parametre olarak verdim. Uygulamayı tekrar<br />

derleyip çalıştırdığımda ve Maksimize butonuna bastığımda, Frame’ in 500 piksel X<br />

500 piksel boyutlarına geldiğini gördüm. Normal şartlar altında bu metodu<br />

kullanmasaydım, Frame tüm ekranı kaplayacak şekilde boyutlandırılacaktı.<br />

Frame pencereleri ile ilgili aklıma takılan bir diğer nokta ise, X butonu ile pencereyi<br />

kapatamayışımdı. Bunu kendim programlamam gerekiyordu. Bir başka deyişle, olay<br />

metodunu yazmalıydım. Kaynaklarımı araştırdığımda, <strong>Java</strong> Frame sınıfının aşağıdaki<br />

window olay metodlarına cevap verebildiğini öğrendim.<br />

Frame için Window Olayları<br />

windowOpened<br />

Pencere ilk kez gösterildiğinde çalışan olay.<br />

windowClosing<br />

Pencere kullanıcı tarafından kapatılırken<br />

gerçekleşen olay.<br />

windowClosed<br />

Pencere kapatıldıktan sonra çalışan olay.<br />

windowIconified<br />

windowDeiconified<br />

windowActivated<br />

Pencere minimize edildiğinde gerçekleşen olay.<br />

Minimize olan bir Pencere normal haline<br />

döndüğünde gerçekleşen olay.<br />

Pencereya odaklanıldığı (Focus) yani aktifleştirildiği<br />

zaman çalışan olay.<br />

WindowListener Arayü<br />

windowDeactivated<br />

Pencereden ayrılındığında çalışan olay.<br />

windowLostFocus<br />

Focus (odak) pencereden uzaklaştığında çalışan<br />

olay.<br />

WindowFocusListener<br />

Arayüzünden<br />

278

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!