Hirdetés
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Milyen okostelefont vegyek?
- iPhone topik
- One mobilszolgáltatások
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Apple Watch Sport - ez is csak egy okosóra
- Az Apple bemutatta az iPhone 17-et
- Apple iPhone 16 Pro - rutinvizsga
- OnePlus Nord 3 - kapcsoljuk északot
- Honor 200 - kétszázért pont jó lenne
Új hozzászólás Aktív témák
-
Drizzt
nagyúr
válasz
Dinter #10108 üzenetére
Valahol van erre minta kódod?
"Ha én az EventHandler-t az App-on belül valósítom meg, akkor minden gombnak az App osztály adattagjának kell lennie, hogy a handle függvényben le tudjam ellenőrizni, hogy melyik osztályban történt a kattintás."
Ez szerintem nem így van. Vagyis nem teljesen értem, hogy mit értesz az alatt, hogy le kell tudd ellenőrizni, hogy melyik osztályban történt a kattintás? Miért kellene ezt leellenőrizni? Ha bárhol csinálsz EventHandler-t implementáló osztályt, azt be tudod állítani event handlernek. Akár csinálhatsz egy olyan függvényt az Appban, ami EventHandler<MouseEvent>-et ad vissza, pl. így:
Class MyApplication {
EventHandler<MouseEvent> createTeamHandler(Team t) {
return new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e) {
System.out.println("MouseEventhandler runs");
t.doSomething();
}
};
}
}És akkor ahol akarod használni:
MyApplication app = new MyApplication();
Team t = new Team();
button.addEventHandler(app.createTeamHandler(t));Mondjuk Javafx-hez sem értek. De ehhez hasonló dolog simán megy pl.: Consumer-ekkel:
public class Book{
public Book(String name) {
this.name = name;
}
private String name;
private Consumer<Book> consumer;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setConsumer(Consumer<Book> bookConsumer) {
consumer = bookConsumer;
}
public void consume() {
consumer.accept(this);
}
}
public class Tester {
public static Consumer<Book> getBookConsumer(int number) {
return new Consumer<Book>() {
@Override
public void accept(Book book) {
System.out.println(number);
}
};
}
public static void test() {
Book b1 = new Book("AGILE workflow");
b1.setConsumer((book -> {
System.out.println(visitables.size());
}));
b1.consume();
b1.setConsumer(getBookConsumer(8));
b1.consume();
}
}
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Építő/felújító topik
- Melyik tápegységet vegyem?
- Path of Exile 2
- Kerékpárosok, bringások ide!
- BMW topik
- Parkside szerszám kibeszélő
- Borderlands 4
- Eredeti játékok OFF topik
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- További aktív témák...
- Eredeti Lenovo USB-C 135W töltők
- Bomba ár! Dell Latitude E6320 - i5-2GEN I 4GB I 250GB I DVD I 13,3" HD I Cam I W10 I Garancia!
- iPhone 12 Pro 128GB Pacific Blue - 1 ÉV GARANCIA - Kártyafüggetlen, MS3259,100% Akkumulátor
- AZONNALI SZÁLLÍTÁSSAL Eladó Windows 8 / 8.1 Pro
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest