- Philips LCD és LED TV-k
- Soundbar, soundplate, hangprojektor
- Fejhallgató erősítő és DAC topik
- ASUS notebook topic
- Milyen billentyűzetet vegyek?
- Szünetmentes tápegységek (UPS)
- Kormányok / autós szimulátorok topikja
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- Mini PC
- Házimozi belépő szinten
Ú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?:))
- Peugeot, Citroën topik
- Tesla topik
- Philips LCD és LED TV-k
- Meggyi001: Áram nélkül....méltóság nélkül.....
- Vírusirtó topic
- Kerékpárosok, bringások ide!
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Kínai és egyéb olcsó órák topikja
- Napelem
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- További aktív témák...
- Samsung Galaxy S25 Ultra 12/512GB Fekete titán - Samsung.hu rendelés, újszerű állapot
- Apple iPhone 15 87% Akku.Újszerű,Kártyafüggetlen,Dobozos,Tartozékaival. 1 Év Garanciával!
- Samsung Galaxy S23 Ultra 8/256GB Újszerű,Kártyafüggetlen,Dobozos,Tartozékaival. 1 Év Garanciával!
- Apple iPhone 12 Mini 128GB 100% Akku. Újszerű,Kártyafüggetlen,Tartozékaival. 1 Év Garanciával!
- Lenovo Yoga Tab 3 Plus 3/32GB
- PCIe 5.0/4.0/3.0 Riser kábelek 90-os hajlított csatlakozóval (220mm/300mm)
- iPhone 11 Pro 64GB 100% (3 hónap garancia)
- Lenovo T14S Thinkpad FHD IPS i5-1135G7 16GB RAM 256GB SSD Intel Iris XE Graphics Win11 Pro Garancia
- BESZÁMÍTÁS! Apple Macbook Air 15 2025 M4 24GB RAM 512GB SSD notebook garanciával hibátlan működéssel
- PS Plus előfizetések kedvező áron
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

