Merhabalar; java swing olayında şu ana kadar pencerenin X butonun basıldığında yapması gereken işlemi addWindowListener() metodu içerisinde windowsAdapter nesnesi oluşturup, iç sınıf tanımlaması ile gereken işlemi yaptırıyordum.

Daha sonra Butonu tetiklemek için elimdeki kaynak kitapda tarif etti gibi; Action nesne tanımlaması yaparak AbstractAction sınıfı ile butona görev yaptırıyordum. Ancak bir kaç webblogda aynı işi pencere için izlediğim addWindowsListener işlemi gibi; buton içinde addActionListener olarak yaptırmıştı. Yapısı gereği daha kolay geldi.

buton nesnesine addActionListener() metodunu uygula, ActionListener sınıfını uygula, iç sınıfı oluştur gibi...

Arada ki fark ile ilgili bir fark var mı? Tahminim biri birini impements ediyordur, biri abstracttır falan ama... :) Hani birini şu gibi durumlarda kullanırsan daha iyi olur???

Teşekkürler.

soruldu: 08 Ara '12, 17:59

KodlarinEfendisi's gravatar image

KodlarinEfendisi
8061013
cevap kabul oranı: 0%


Swing tutorials'da gerekli aciklamalar var:

http://docs.oracle.com/javase/tutorial/uiswing/components/button.html#jbutton

http://docs.oracle.com/javase/tutorial/uiswing/misc/action.html

JButton icin addActionListener ile action events buttonlara eklenebilir. Eger bir action'u birden cok yerde kullancaksaniz, ornegin hem file menusunden open'a hem de toolbar'dan open'a tiklayinca ayni open action calistirilacaksa bir action birden cok componente verilebilir.


// TODO OpenAction extends AbstractAction ile kodlanmali!
Action openAction = new OpenAction(); 
Button btnOpen = new JButton(openAction);
MenuItem mnuOpen = new JMenuItem(openAction);

permanent link

cevaplandı: 09 Ara '12, 17:11

CemIkta's gravatar image

CemIkta ♦
19.9k29125190
cevap kabul oranı: 36%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×79

Soruldu: 08 Ara '12, 17:59

Görüntüleme: 1,090 kez

Son güncelleme: 09 Ara '12, 17:11

powered by BitNami OSQA