Netbeans Platform TopComponent a getActivated()

Karel Nagy nagy na soma.cz
Pondělí Březen 30 15:38:17 CEST 2009


Dobrý den,
     tato otázka je určena pro lidi, kteří pracují s platformou 
Netbeans, tak se snad nějací najdou.
Popíšu náš problém na konkrétním případě. Vytvořím více instancí stejné 
TopComponenty (např. faktur), která má nsataveno PersistenceType na 
NEVER. V každé instanci (záložce) faktury stojím na jiném dokladu. 
TopComponenta implementuje náš interface SPrintableTopComponent, kde je 
metoda, která vrací číslo dokladu (např. getCisloDokladu ()).
V ToolBaru máme tlačítko tisku, které zjistí aktivní TopComponentu - 
TopComponent.getRegistry().getActivated(). Pokud nalezený TopComponent 
implementuje SPrintableTopComponent, tak si zjistím číslo dokladu z této 
TopComponenty a vytisknu daný doklad.
Problém nastane, když máme spuštěno více instancí stejné TopComponenty - 
getActivated() nevrátí vždy správnou instanci. Pokud je v tabulce první 
instance zvolen doklad 123 a v druhé 987, tak přestože je aktivní druhá 
instance s dokladem 987, tak se vytisne doklad 123.
Zkoušeli jsme nastavit pro každou instanci TopComponenty unikátní jméno 
metodou setName, ale nepomohlo to.
Nevíte, jak by šel tento problém vyřešit, aby to fungovalo správně?
Děkuji za případné odpovědi
S pozdravem
Karel Nagy




Další informace o konferenci Konference