Java Programlamada GUI, Bölüm4: Actionlistener (Login Uygulaması)

Üç bölümdür nesne eklemeyle ilgili işlemleri anlatıyordum. Bu yazımla nesne eklemeye bir ara verip bu nesneleri nasıl kontrol edebileceğimizi göstereceğim. C sharp bilenler için söylüyorum, C sharpta click_Event ne ise Java’ da da action listener içinde yazdığımız metod da odur. Yani actionlistener,  bir nesnenin kullanıcı tarafından uyarıldığında neler yapması gerektiğini belirleyebileceğimiz metodları içeren interfacedir.

Dilerseniz yazacağım programı kısaca açıklayayım, kodları da verdikten sonra gerek duyduğum satırları açıklayacağım. Program, kullanıcıdan kullanıcı adı ve şifre alacak. Giriş butonuna basıldığında eğer bilgiler doğru ise “Giriş Başarılı”, yanlış ise “Kullanıcı adı ve şifrenizi kontrol ederek tekrar deneyiniz” metinlerini metin kutusu aracılığı ile bizlere gösterecek. Bu programı yazmak için 3. bölümdeki programı kullandım. Bir kaç da label ekleyerek programı bu amaç doğrultusunda hazırladım.

[cc lang = ‘java’]
package hafta;

import java.awt.event.ActionListener; //ActionListener ekleyebilmemiz için içe aktarmamız gereken interface
import java.awt.event.ActionEvent; //ActionEvent türünden bir nesne oluşturabilmemiz için içe aktarmamız gereken sınıf
import javax.swing.JFrame; //Pencere nesnesi oluşturabilmemiz için içe aktarmamız gereken sınıf
import javax.swing.JPanel; //Panel nesnesi oluşturabilmemiz için içe aktarmamız gereken sınıf
import javax.swing.JButton; //Buton nesnesi oluşturabilmemiz için içe aktarmamız gereken sınıf
import javax.swing.JTextField; //TextField nesnesi oluşturabilmemiz için içe aktarmamız gereken sınıf
import javax.swing.JPasswordField; //PasswordField nesnesi oluşturabilmemiz için içe aktarmamız gereken sınıf
import javax.swing.JLabel; //Label nesnesi oluşturabilmemiz için içe aktarmamız gereken sınıf
import javax.swing.JOptionPane; //Mesaj kutusu oluşturabilmemiz için içe aktarmamız gereken sınıf

public class deneme extends JFrame
{
JFrame frame;
JPanel panel;
JButton btn_login;
JTextField txt_userName;
JPasswordField passF_password;
JLabel lbl_userName, lbl_password;
public static String kullaniciAdi = “serefakyuz.com”;
public static String sifre = “actionlistener”;

// Sınıfın Constructor’ ı
public deneme()
{
super(“Login”);
setBounds(100, 100, 300, 250);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Paneli oluşturuyorum
panel = new JPanel();
//****************************
//******** DİKKAT!!! *********
//****************************
panel.setLayout(null);

// Nesneleri oluşturuyorum
lbl_userName = new JLabel(“Kullanıcı Adı:”);
lbl_userName.setBounds(20, 20, 100, 20);
txt_userName = new JTextField();
txt_userName.setBounds(120, 20, 150, 20);
lbl_password = new JLabel(“Şifre :”);
lbl_password.setBounds(20, 50, 100, 20);
passF_password = new JPasswordField();
passF_password.setBounds(120, 50, 150, 20);
btn_login = new JButton(“Giriş”);
btn_login.setBounds(120, 80, 80, 20);

// Nesneleri Panele ekliyorum
panel.add(lbl_userName);
panel.add(txt_userName);
panel.add(lbl_password);
panel.add(passF_password);
panel.add(btn_login);

//paneli Frame e ekliyorum
add(panel); //—>>>frame.add(panel) ile aynı anlamı taşır

//btn_login Butonuna ActionListener Ekliyorum
btn_login.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(txt_userName.getText().equals(kullaniciAdi) && passF_password.getText().equals(sifre))
{
JOptionPane.showMessageDialog(null, “Başarıyla Giriş Yaptınız…”);
}
else
JOptionPane.showMessageDialog(null, “Kullanıcı Adınızı veya Şifrenizi Kontrol Ederek Tekrar Deneyiniz”);
}
});
}
}
[/cc]

 

Bu kodda açıklamam gereken iki nokta olduğunu düşünüyorum. Çünkü diğer konuları daha önceki bölümlerde açıklamıştım. (Bkz: Bölüm 1,2,3)

1. btn_login.addActionListener ifadesi ve içindeki kod blokları

Bu ifade ile butona bir actionListener eklemiş olduk. ActionListener bir interface olduğu için bize bir de metod gönderiyor. actionPerformed metodu içinde de bizden, butondan istediklerimizi yazmamızı istiyor. Benim yaptığım da buydu zaten. actionPerformed metodu içinde, string değişkenlerde tuttuğum kullaniciAdi ve sifre değişkenlerini kullanıcının metin kutularına yazdıklarıyla karşılaştırıp sonucu ekrana yazdırdım.

NOT: Java’ da, if içindeki ifadede de kullandığım gibi, equals(string) metodu ile string karşılaştırması yapılır.

2. JOptionPane.showMessageDialog(null, “”) ifadesi

Bu ifade de kullanıcıyı bir mesaj kutusu kullanarak bilgilendirmeyi sağlar. içine aldığı iki değişkenden ilki null, ikincisi ise mesajınızı yazacağınız bir string’ dir.

Bu yazının da sonuna geldik. Kısa bir özetle, actionListener nasıl eklenir, mesaj kutusu kullanımı nasıldır, iki string javada nasıl karşılaştırılır sorularının cevabını bu login uygulamasıyla vermiş olduğumu düşünüyorum. İyi çalışmalar…

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir