Merhaba arkadaşlar bugün kullanıcıdan veri almak için Scanner in alternatifi olarak JOptionPane kullanımını anlatacağım.JOptionPane bize görsel olarak girdi almamızı ve çıktı vermemizi sağlar.Yani konsol ekranını kullanmadan veri gösterip alabiliriz.Eğer son kullanıcı için bir program yapılacaksa benim tavsiyem joptionpane yerine label ve textPane leri kullanmanız.Şimdi JOptionPane lerin girdi ve çıktı için kullanımını inceleyelim:
1.Girdi için JOptionPane nin showInput fonksiyonunu kullanırız ve bu fonksiyonun yapısı şöyledir:
[php]
JOptionPane.showInputDialog(String mesajBasligi,String varsayilanText)
[/php]
Parametlerin Açıklaması:
String mesajligi:Buraya JOptionPane ile kullanıcıdan istenen veri için açıklama yazılır..Burası parametre olarak sadece String türünden değer alır.Örneğin biz bir yazı girilmesini istiyorsak başlık kısmına “Bir yazı giriniz” yazmamız uygun olur.
String varsayilanText:Burası da kullanıcıdan veri isterken varsayılan olarak bir yazı belirtmek istiyorsak onu yazarız.Örneğin ben girdi textine varsayılan olarak “Merhaba” yazarsam,JOptionPane her çalıştığında ekranda önce bu yazı yazılır.Kullanıcı isterse bu yazıyı değiştirebilir.
2.Çıktı için showMessageDialog fonksiyonunu kullanırız.Bu fonksiyonda şöyledir:
[php]
JOption(Component parentComponenti,Object mesaj,String mesajBasligi,int mesajTipi);
[/php]
Parametlerin Açıklaması:
Component parentComponenti:Buraya eğer joptionpane nin bir ebebeyni(parentı)varsa yazılır.Yoksa null yazabilirsiniz.
Object mesaj:Buraya ekranda gösterilmek istenen mesaj yazılır.Object türünde olduğu için double,int,float veya String türünde olabilir.Kullanıcıya buraya yazılan mesaj gösterilecektir.
String mesajBasligi:Buraya ekranda çıkan mesajın başlığı yazılır.String türündedir.
int MesajTipi:buraya integer türünden mesaj tipi yazılır.Burdaki integer değerlerinin karşılığı şöyledir:
/** Hata Mesajları için */
public static final int ERROR_MESSAGE = 0;
/** Bilgilendirme mesajları için */
public static final int INFORMATION_MESSAGE = 1;
/** Uyarı mesaları için */
public static final int WARNING_MESSAGE = 2;
/** Soru sormak için */
public static final int QUESTION_MESSAGE = 3;
/** ikon olmayan,düz metin için*/
public static final int PLAIN_MESSAGE = -1;
değerleri kullanılabilir.Bu parametreye direkt burdaki sayisal değerleri(0,-1,1,2,3) verebileceğiniz gibi ” JOptionPane ” classı üzerinden de bu sabit değerlere ulaşabilirsiniz.Örneğin; JOptionPane.INFORMATION_MESSAGE
Şimdi ufak bir örnek yapalım.Örneğimizde kullanıcıdan JOptionPane ile bir string isteyelim.Bu String e varsayılan olarak “impROS” yazdıralım.Ve sonra da yine JOptionPane ile bunu ekranda gösterelim
[java] import javax.swing.JOptionPane; public class JOptionStringUzunluk { public static void main(String[] args) { String strWord = JOptionPane.showInputDialog("String girin", "impROS"); int lengthStr = strWord.length(); JOptionPane.showMessageDialog(null, strWord + " Uzunlugu : " + lengthStr, "Kelime Uzunlugu ", JOptionPane.INFORMATION_MESSAGE); } } [/java]