java - KeyboardFocusManager issue, Maven vs IDE build -
java - KeyboardFocusManager issue, Maven vs IDE build -
i trying add together keyboard shortcuts existing java app. relevant part follows:
public final class main{ ... private mykeyeventdispatcher keydispatcher; /*implements keyeventdispatcher*/ ... keyboardfocusmanager manager =keyboardfocusmanager.getcurrentkeyboardfocusmanager(); keydispatcher = new mykeyeventdispatcher(this); manager.addkeyeventdispatcher(keydispatcher); viewer = makejviewer(); /*an extension of jpanel, shows video stream.*/ ... }
now, keyboard focus scheme works 1 expect software rendering. however, since add-on of gl rendering support, behaviour different. upon starting program, keyboard manager works fine. kid objest of main
have focus , focus manager behaves defined in main
. when click on stream-video button however, ie. when internal jpanels within jviewer rendererred first time, although same buttons , panels maintain focus, keyboard manager stop working. have click on jviewer or gui tools such buttons, etc. or tab-out , tab-in programme keyboard work again. after that, works fine. also, happens first time stream loaded.
i should behaviour occurs windows machine , linux machine handles same (maven) build fine. interesting, if run same programme in intellij build environment jdk java 1.6.0.39, works fine in windows.
my questions are:
what causing problem? jviewer somehow not "revalidated" after rendering of internal stream jpanels? why same build work in windows , not in linux? lookandfeel? on windows, why intellij build work fine , maven build doesn't? seem have different set of paths looking libraries, etc.how focus subsystem decide on keyboardfocusmanager
use? there like: getcurrentkeyboardfocusmanager().isitblank()
or way of checking content programmatically?
unfortunately project modular , can't define action keyboard shortcuts in "swing package" "main" bundle imports "swing" , java doesn't circular dependency; if wasn't define keyboard manager each kid object, including jviewer individually, can't! there property set components in given window utilize same keyboardfocusmanager
?
fyi, maven version: 3.2.5 , uses same java jdk ide.
the focus manager issue can resolved clearing global focus owner: keyboardfocusmanager.getcurrentkeyboardfocusmanager().clearglobalfocusowner();
java swing maven keyboardfocusmanager
Comments
Post a Comment