"Sol" ve "Sağ" adlı iki JButtons
sahibim. "Sol" düğmesi bir dikdörtgen nesneyi sola taşır ve "Sağ" düğmesi sağa doğru hareket ettirir. Her iki düğmenin tıklandığında dinleyici görevi gören sınıfta bir ActionListener
var. Ancak, her tıklandığında farklı eylemler olmasını istiyorum. ActionListener
arasında, tıklanan arasında nasıl ayırt edebilirim?Bir eylem dinleyicisi, iki JButtons
cevap
Seti actionCommand.
// Eylem komutlarını her iki düğmeye de ayarlayın.
btnOne.setActionCommand("1");
btnTwo.setActionCommand("2");
public void actionPerformed(ActionEvent e) {
int action = Integer.parseInt(e.getActionCommand());
switch(action) {
case 1:
//doSomething
break;
case 2:
// doSomething;
break;
}
}
GÜNCELLEME:
public class JBtnExample {
public static void main(String[] args) {
JButton btnOne = new JButton();
JButton btnTwo = new JButton();
ActionClass actionEvent = new ActionClass();
btnOne.addActionListener(actionEvent);
btnTwo.addActionListener(actionEvent);
btnOne.setActionCommand("1");
btnTwo.setActionCommand("2");
}
}
class ActionClass implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
int action = Integer.parseInt(e.getActionCommand());
switch (action) {
case 1:
// DOSomething
break;
case 2:
// DOSomething
break;
default:
break;
}
}
}
ait
Bence bu genel olarak daha zarif. Teşekkürler! – CodyBugstein
Sadece bir saniye, bu, ActionListener'ın aynı sınıfta olmasını gerektirir mi? – CodyBugstein
Bir ActionListener sınıfı tanımlayın. UI sınıfındaki eylem sınıfının bir nesnesini bildirin. AddActionListener yöntemini kullanarak her bir button actionListener öğesini ayarlayın ve bu action class başvurusunu param olarak ekleyin ve son olarak her birine action komutu ayarlayın. – Amarnath
ActionEvent
mevcut getSource()
yöntemle Oldukça kolay: düğmenin her birine
JButton leftButton, rightButton;
public void actionPerformed(ActionEvent e) {
Object src = e.getSource();
if (src == leftButton) {
}
else if (src == rightButton) {
}
}
- 1. Java eylem dinleyicisi
- 2. Birçok JButtons için bir ActionListener
- 3. String.split dizilimini JButtons
- 4. İki Guıd'lerini alarak bir eylem var
- 5. Bir Olay Dinleyicisi Ekleme
- 6. İki düğmeye dokunulduğunda eylem tetiklenir
- 7. GridLayout - JButtons, dizi ve görüntüler?
- 8. olay dinleyicisi pencereden ayarlanmış bir olay dinleyicisi kaldırmak gerekir
- 9. İçerik dinleyicisi aracılığıyla olay dinleyicisi kaldırılamıyor
- 10. Tek görünümde iki eylem sayfası oluşturma
- 11. Değişim dinleyicisi ile iki ListViews arasında öğe nasıl taşınır? JavaFX
- 12. Neden bir anahtar dinleyicisi ekleyemiyorum?
- 13. JButton dizisinde bulunan 9x9 Jbuttons nasıl görüntülenir?
- 14. Görüntüde dokunma dinleyicisi nasıl uygulanır?
- 15. Başka bir denetleyicide Eylem Yönlendirme
- 16. Symfony2'nin olay dinleyicisi
- 17. CSS Özellik Değişikliği Dinleyicisi
- 18. İnternet dinleyicisi Android örneği
- 19. Android, XML'de Checkbox dinleyicisi?
- 20. MediaPlayer ile OnCompletion dinleyicisi
- 21. Android Özel Etkinlik Dinleyicisi
- 22. EJB modülü başlatma dinleyicisi
- 23. ViewPropertyAnimator'ın dinleyicisi kaldırılamıyor
- 24. Javascript olay dinleyicisi performansi
- 25. C# dinleyicisi tanıtıcı
- 26. eylem Bu Eylem Yöntemi sahip
- 27. Java ile bir veritabanı dinleyicisi nasıl oluşturulur?
- 28. Tepki: AppStore dinleyicisi bir işlev olmalı
- 29. İletişim kutusunun başlığına bir olay dinleyicisi ekleme
- 30. Kumanda Eylem Bir Hatayı Yükseltme
olası yinelenen [? Java - Bir fonksiyonu ile birden fazla etkinlik Kulp] (http://stackoverflow.com/questions/501533/java-handle-multiple- olaylar-bir-fonksiyonu ile) –