W skrócie:
Dlaczego akcje wywołane na obiekcie przed jego ukryciem nie są wykonywane? Czy da się to jakoś obejść?
Czy da się sprawić, by MenuDeselected było wykonywane po ActionPerformed?
W tym roku przerabiamy na uczelni jave i co tydzień musimy umieszczać w programie określone rzeczy, teraz przypadło na m. in. MenuBara i ToolBara. Żeby nie robić tego wszystkiego na siłę, wymyśliłem sobie, że zrobię takiego swojego ribbona i nawet mi to nieźle wyszło, ale...
Najpierw opiszę jak to u mnie działa:
- Menubar nie ma żadnych MenuItemów, tylko same napisy na nim. Nasłuchiwane MenuListenerem.
- W MenuSelected odpowiedni ToolBar jest dodawany na panel i wyświetlany.
- W MenuDeselected stary ToolBar jest usuwany z panelu (mam też wersję z setVisible(false)).
- Elementy ToolBara nasłuchiwane są ActionListenerem.
Niestety akcje naciśniętych na ToolBarach przycisków nie są rejestrowane, ponieważ MenuDeselected wywołuje się przed ActionPerformed, ToolBary są usuwane, a java w tym momencie olewa te akcje (??). Podobnie się rzecz ma, kiedy ToolBary tylko ukrywam setVisible(false), wtedy również akcje nie są wywoływane (??).
Już mnie to do szału doprowadza, bo nie widzę żadnego wyjścia z tej sytuacji! [???] Może ktoś z Was będzie mógł mi poradzić?