يعرض Jmenuitem خانة الاختيار على اليسار ، وكيفية تعطيلها؟
سؤال
أنا أقوم بإنشاء قائمة منسدلة موجودة في شريط قائمة البرامج وينبثق من JPopupMenu إذا تم النقر فوق Jbutton. في jpopupmenu هناك عدة jmenuitems.
ومع ذلك ، بجانب كل jmenuitem يظهر خانة اختيار! الذي يشبه هذا:
لا أعتقد أنه ينبغي ، وهناك 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.