Hirdetés
- A természettel együtt ébredeznek a hardverek
- A '90-es évek jutnak az eszünkbe az ATK készülő egeréről
- Huszadik születésnapjára eléggé megváltozott az Antec nagytornya
- Még a saját szövetségeseivel szemben is fegyverként használná az AI-t az USA
- Mégis meglepi egy új GeForce-szal a rajongókat az NVIDIA?
- Kormányok / autós szimulátorok topikja
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- Google Home/Nest
- Milyen belső merevlemezt vegyek?
- A '90-es évek jutnak az eszünkbe az ATK készülő egeréről
- AMD Navi Radeon™ RX 9xxx sorozat
- TCL LCD és LED TV-k
- RAM topik
- Pedzegeti az új Xbox irányát a Microsoft
- Ilyen olcsó sem volt még egy Apple notebook
Ú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?:))
- Kormányok / autós szimulátorok topikja
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- Formula-1
- Le Mans Ultimate
- Google Home/Nest
- Robotporszívók
- Milyen belső merevlemezt vegyek?
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Xbox Series X|S
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- További aktív témák...
- 275 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5080
- 274 - Lenovo Legion Pro 5 (16IAX10H) - Intel Core U9 275HX, RTX 5070Ti
- 271 - Lenovo Yoga Pro 9 (16IAH10) - Intel Core U9 285H, RTX 5070
- SAMSUNG S25 512GB - navy blue
- HP 255 G8 - 15.6" FullHD IPS - Ryzen 5-5500U - 8GB - 512GB SSD - Win11 - MAGYAR - ÚJ AKKU
- Telefon felvásárlás!! Honor 200 Lite, Honor 200, Honor 200 Pro, Honor 200 Smart
- Lenovo L13 Core I3-10110U / 4GB DDR4 / LAPTOP 1
- CÉGEK FIGYELEM!! iPhone 11 64GB Black -1 ÉV GARANCIA - 27% ÁFA-S SZÁMLA Kártyafüggetlen, 100% Akksi
- Macbook Air M2 15" 8GB 256GB 100%
- Apple iPhone 15 Pro 128GB,Újszerű,Dobozaval,12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

