Използване на натискания на клавиши JMenus в множество прозорци?

моето приложение използва един JFrame и два дъщерни JDialogs.

JMenubar с JMenus и натискания на клавиши е в един дъщерен JDialog. Моят проблем е, че тези натискания на клавиши работят само когато дъщерният JDialog е фокусиран, а не когато другият JDialog или JFrame са фокусирани.

Има ли някакъв начин да се реши този проблем?


person esanits    schedule 02.07.2011    source източник
comment
Може би да използвате различна ситуация на фокус от изброените тук? download.oracle.com/javase/tutorial/uiswing/misc/   -  person ignis    schedule 02.07.2011
comment
това трябва да е по погрешка, обадихте ли се на JMenu&JMenuItems от 1) JFrame, 2) JDialog или от JFrame и JDialog също   -  person mKorbel    schedule 02.07.2011
comment
Обадих се на menuItem.setAccelerator(KeyStroke.getKeyStroke("meta shift S"));. След това добавих JMenuItems към JMenu, JMenu към JMenuBar, JMenuBar към JDialog.   -  person esanits    schedule 02.07.2011


Отговори (1)


Това не е проблем, клавишите отиват само до компонента (прозореца) с фокус. Ако няма смисъл други прозорци да прихващат натискания на клавиши.

Ако наистина искате да направите нещо подобно, предполагам, че трябва да разгледате използването на Глобален слушател на събития.

person camickr    schedule 02.07.2011