Java JOptionPane Kullanımı

30-11-2013
import javax.swing.JOptionPane;
public class WelcomeMessageDialogBox{
     public static void main(String[] args){
          JOptionPane.showMessageDialog(null,"Welcome to Java");
      }
}
Satır 1: import anahtar kelimesi(keyword) bir kütüphanede bulunan sınıfı veya static metodları kullanmayı sağlar. C dilinde #include keyword ile benzer kullanıma sahiptir. Burada kütüphanenin adı javax.swing, sınıfın adı ise JOptionPane dir. Görüldüğü gibi, Java’da sınıf isimlendirmelerinin büyük harfle başlaması genel bir kullanım tarzıdır. Bu nedenle yeni sınıf oluştururken büyük harfle başlamak büyük önem arzetmektedir. javax.swing kütüphanesi aslında javax ve swing isimli iki klasörden oluşur. javax ana klasör, swing klasörü ise javax klasörü içerisinde bulunan alt klasördür. Nokta(.) işareti, iç klasörlere erişmemizi sağlamaktadır. Sonuç olarak, javax.swing.JOptionPane ifadesi, javax paketi içerisindeki swing paketinde bulunan JOptionPane isimli sınıf anlamına gelir. import keyword’ü ile de JOptionPane isimli sınıfı programımıza ekleriz.
Satır 2: Sınıf tanımı
Satır 3: main metodu tanımı
Satır 4: JOptionPane sınıfını import keyword’ü ile ekledikten sonra, showMessageDialog isimli metod, bulunduğu sınıfın adı ve nokta(.) işaretiyle çağrılmaktadır. Bu tarz metod çağrılmasına sınıf metodu çağrılması denir. Sadece static keyword’ü ile başlayan metodlar ve değişkenler bu şekilde kullanılmaktadır. Sonuç olarak, eğer bir metod static keyword almışsa, bu metod çağrılırken, tanımlandığı SınıfAd.metodAd şeklinde kullanılır. Ayrıca, bu kullanımdan anlaşılıyor ki static metodlar tanımlandığı sınıftan nesne oluşturulmadan çağrılmaktadır. static tanımlanan metodlara class method, nesne oluşturulduktan sonra kullanılan metodlara ise instance method denir.
Not: Java’da static bir metod, nesne oluşturulduktan sonra nesneAdi.metodAdi şeklinde de kullanılabilmektedir. Fakat bu tarz bir kullanım kesinlikle tavsiye edilmemektedir. Java uyarı verirken, C# dilinde bu tarz kullanım mümkün değildir.
Not: import keyword’ü ile bir paket içerisinde bulunan tüm sınıfları ekleyebiliriz. Örneğin Satır1’deki javax.swing paketi içerisinde bulunan tüm sınıfları eklemek için, import javax.swing.*; ifadesiyle kullanmak gerekir; ancak bu tarz kullanım okunurluğu zorlaştırdığından ve diğer kütüphanelerde aynı isimde bulunan sınıflar ile çakışma problemi yaşatmasından dolayı tavsiye edilen bir kullanım şekli değildir! Ek olarak, javax.swing.* dediğimizde, swing paketi içerisindeki sınıf veya sınıfların hangisini veya hangilerini, kendi oluşturduğumuz sınıfta(örnekteki WelcomeMessageDialogBox sınıfı gibi) kullanırsak, derleme zamanında(compile time) bu sınıf veya sınıflar, paketteki tüm sınıflar içerisinde tarandıktan sonra eklenir. Sonuç olarak, tüm sınıflar tarandığı için yazdığımız kodların daha yavaş compile edilmesine neden olur.

© 2019 Tüm Hakları Saklıdır. Codesenior.COM