Arkadaşlar yapmaya çalıştığım şey aslında basit ama yapamıyorum .Actionlistener sınıfından miras alarak yeni bir sınıf oluşturup daha sonra main içinde çağırıp herhangi bir tıklama anında birşeyler yazdırmaya çalışıorum .Ama çorba oldu bu malesef

public class f  extends JPanel implements ActionListener{

@Override
public void actionPerformed(ActionEvent ae) {
  System.out.println("asd");

}

public f()  {
  setSize(300,300);
  setVisible(true);

}

public static  void main(String[]args){

JFrame frame=new JFrame();
frame.add(new f());
frame.setSize(300,300);
frame.setVisible(true);

}

}

soruldu: 14 Tem '13, 14:27

aliEmir's gravatar image

aliEmir
315710
cevap kabul oranı: 0%

değiştirildi: 06 Ağu '13, 09:12

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


Kodlar dogru da actionListener hangi durumda tetiklenecek? JPanel'e bir button ekleyin o buttonun actionListener'ine implement ettiginiz actionListener'i verin. Boylece button click'de actionListener cagrilir. Swing Tutorials'a bakmanizi tavsiye ederim.

 
public class MyPanel extends JPanel implements ActionListener {

@Override
    public void actionPerformed(ActionEvent ae) {
      System.out.println("Action cagrildi...");
    }

public MyPanel()  {
      setSize(300,300);
      JButton btn = new JButton("Test Button");
      btn.addActionListener(this);
      add(btn);
      // zaten JFrame setVisible yapiliyor.
      // setVisible(true);

}

public static  void main(String[]args){
        JFrame frame = new JFrame();
        frame.add(new MyPanel());
        frame.setSize(300,300);
        frame.setVisible(true);
    }
}

Soruyla alakasiz ama kucuk bir hatirlatma: Java'da class isimleri buyuk harfle baslar ve ilk bakista o class'in ne yaptigini anlatan, anlamli bir isim secilmelidir. f class ismi uygun degil!

permanent link

cevaplandı: 15 Tem '13, 04:17

CemIkta's gravatar image

CemIkta ♦
19.9k29125190
cevap kabul oranı: 36%

Cem hocam hatırlatmanız doğru okumuştum teşekkürler.Hocam herhangi bir buton değil aslında main içinde new diyerek türettiğimde mypanel'in herhangi bir yerine tıkladığımda çalışsın istiyorum action listener çünkü bunu yapabilirsem popup lar ekliycem

(15 Tem '13, 05:43) aliEmir aliEmir's gravatar image

JPanel'de herhangi bir yere click'lenince mesaj yazdirmak icin MouseListener implementasyonu eklemelisin.


public class MyPanel extends JPanel implements ActionListener, MouseListener
...
    public MyPanel()  {
      setSize(300,300);
      // mouse listener mypanel e eklenir. 
      addMouseListener(this);
      ...
    }

// mouse click event'da calisir.
   @Override
    public void mouseClicked(MouseEvent e) {
      System.out.println("Mouse clicklendi!");
    }

(15 Tem '13, 05:53) CemIkta ♦ CemIkta's gravatar image
1

SwingUtilities.isRightMouseButton(MouseEvent anEvent)

mouse sağ tuşunu algıla ona göre devam ;) ek bilgi olsun.

(15 Tem '13, 07:04) Turgay Can Turgay%20Can's gravatar image

Cevap yazmak için yeni hesap oluşturmak zorunda kaldım ama olsun çok teşekkürler arkadaşlar süpersiniz.

(15 Tem '13, 07:19) ali ali's gravatar image

@ali sanirim login olmadan cevap yazinca direk login ekranina geliyor, diger kullanici adi ve sifrenle giris yapabilirsin!

(15 Tem '13, 08:41) CemIkta ♦ CemIkta's gravatar image

Olsun Cem hocam iki hesabım oldu :)

(15 Tem '13, 10:48) ali ali's gravatar image
6 yorumdan 5 tanesi gösteriliyor hepsini göster
permanent link

cevaplandı: 07 Ağu '13, 01:39

cakiral's gravatar image

cakiral
1.7k224351
cevap kabul oranı: 18%

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: 14 Tem '13, 14:27

Görüntüleme: 891 kez

Son güncelleme: 07 Ağu '13, 01:39

powered by BitNami OSQA