2016-03-24 13 views
1

JavaFX sınıf dosyasını bir Controller sınıfına ve bir FXML dosyasına geri yüklerim. Eski JavaFX sınıfında, alt z katmanına bir dikdörtgen koyarak tüm fare olayları için bir güvenlik ağı oluşturmam gerekti. Böylece, fare sahnede bir düğümde olmayan fare olayları, kodun tüm fare olaylarını almaya devam etmesini sağladı. . FXML'de daha iyi bir yol var mı?Tüm kapsayıcıyı kapsayıcıda yakalama

Sadece olay yerine kendisi bir olay işleyicisi ekleyebilirsiniz
+2

Alacağınız işlevsellik hiç temelde hiçbir fark yok: FXML sadece nesneleri belirtmek için farklı bir (belki daha uygun) yol olduğuna oluşturulmalı ve üzerinde ayarlanması gereken özellikler. Her neyse neden fare olaylarını idare etmek için alt katmanda bir dikdörtgen yerleştirmek istemeniz hiç de açık değil: neden sadece aynı fare dinleyicisini konteynerin kendisiyle birlikte kaydetmiyorsunuz? –

+0

Olaylar sahne grafiği ağacında aşağı yukarı hareket eder ([bkz. * 1 İşlem Olayları *] (http://docs.oracle.com/javase/8/javafx/events-tutorial/processing.htm#CEGJAAFD)). Bir "güvenlik ağı" nı el ile eklemek gerekli olmamalıdır, (bkz. James_D'nin yorumu) ... – fabian

cevap

1

:

scene.addEventHandler(MouseEvent.ANY, event -> { 
    System.out.println(event); 
}); 
İlgili konular