Hirdetés
- Xiaomi 17 Ultra - jó az optikája
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- MWC 2026: Farsangra Galaxy Ultrának öltözött a gyerek
- Honor Magic6 Pro - kör közepén számok
- Szívós, szép és kitartó az új OnePlus óra
- MWC 2026: Műholdakkal tömné ki a Telekom a lefedettségi réseket
- Poco F6 5G - Turbó Rudi
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
Ú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?:))
- Xiaomi 17 Ultra - jó az optikája
- SUSE Linux
- Kezdő fotósok digitális fényképei
- Windows 11
- Xiaomi 15T Pro - a téma nincs lezárva
- Mibe tegyem a megtakarításaimat?
- Ilyen olcsó sem volt még egy Apple notebook
- Viccrovat
- Kertészet, mezőgazdaság topik
- Teljesen M5 SoC-családra vált az Apple Macbook Air és Pro
- További aktív témák...
- Gtx 1080/ Intel I7 8700K/ 16GB Ram/ 256GB M2 SSD/ 1TB HDD/ Win11
- Gtx 1050Ti/ Intel I5 7500/ 16GB Ram/ 256GB Sata SSD/ 1.5TB HDD/ Win11
- Gtx 1050Ti/ Intel I5 7500/ 16GB Ram/ 128GB M2 SSD/ 1.5TB HDD/ Win11
- Acer Aspire 3 A317-53-76NV. Intel 11.gen I7 / 16Gb ram / 512Gb ssd / 17,3"
- Intel 545S 512GB M2 Sata SSD
- Keresünk Galaxy S23/S23+/S23 Ultra/S23 Fe
- Apple iPad Air 2 (A1566) 64GB Wi-Fi Asztroszürke
- G.Skill Aegis 32GB (2 16GB) DDR4 3200MHz ÚJ, AZONNAL KÉSZLETRŐL
- BESZÁMÍTÁS! ASUS TUF GeForce RTX 3080 Ti 12GB videokártya garanciával hibátlan működéssel
- iPhone SE 2020 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4594
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

