يعرض Jmenuitem خانة الاختيار على اليسار ، وكيفية تعطيلها؟

StackOverflow https://stackoverflow.com/questions/3656387

سؤال

أنا أقوم بإنشاء قائمة منسدلة موجودة في شريط قائمة البرامج وينبثق من JPopupMenu إذا تم النقر فوق Jbutton. في jpopupmenu هناك عدة jmenuitems.

ومع ذلك ، بجانب كل jmenuitem يظهر خانة اختيار! الذي يشبه هذا:

alt text

لا أعتقد أنه ينبغي ، وهناك jCheckboxMenuitem صريح لذلك.

هل يعرف أي شخص لماذا تظهر خانة الاختيار في jmenuitem وكيف أقوم بتعطيله / إزالته؟

الرمز

ImageIcon icon = ViewUtilities.createIcon("resource/gui/mainMenu.png", _buttonLength);
setIcon(icon);

JMenuItem menuItem = new JMenuItem("New Whiteboard");
menuItem.addActionListener(new NewWhiteboardActionListener());
getMenu().add(menuItem);

menuItem = new JMenuItem("Open...");
menuItem.addActionListener(new OpenFileActionListener());
getMenu().add(menuItem);

menuItem = new JMenuItem("Preferences...");
menuItem.addActionListener(new PreferencesActionListener());
getMenu().addSeparator();
getMenu().add(menuItem);

menuItem = new JMenuItem("Exit");
menuItem.addActionListener(new ExitActionListener());
getMenu().addSeparator();
getMenu().add(menuItem);

أين getMenu() إرجاع أ JPopupMenu.

شكرًا!

هتافات،
شو


يحرر: لقد أصلحته. المشكلة في Jide مكتبة. لقد استخدمته ل LAF مخصص من tabbedpanel. و حقن LAF للقوائم المنبثقة أيضًا طالما يتم تحميلها.

لذا فإن الحل هو ضبطه على لا تحميل أنماط القائمة.

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);
هل كانت مفيدة؟

المحلول 2

المشكلة في Jide مكتبة. لقد استخدمته ل LAF مخصص من tabbedpanel. و حقن LAF للقوائم المنبثقة أيضًا طالما يتم تحميلها.

لذا فإن الحل هو ضبطه على لا تحميل أنماط القائمة.

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);

نصائح أخرى

Zavie بناءً على هذا موضوع منتدى جيد الحل هو ، عند استخدام Jide للقيام بما يلي قبل إنشاء قوائمك

LookAndFeelFactory.installDefaultLookAndFeel();
LookAndFeelFactory.installJideExtension();

علاوة على ذلك ، في Windows 7 ، سيكون شريط القائمة لون خلفية مختلف قليلاً عن عناصر القائمة ، والحل هو استخدام Jidemenu بدلاً من Jmenu.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top