This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Using OS X 10.1, I specified a new user directory, activated Aqua L&F, and set menus to display in the menu bar. I get a reproducible CNFE. The menu bar item is the key, remove it and all is fine. I'm running IDE as follows: ./runide.sh -J-Dcom.apple.macos.useScreenMenuBar=true -jdkhome /System/Library/Frameworks/JavaVM.framework/Home -ui com.apple.mrj.swing.MacLookAndFeel -fontsize 10 -userdir ${HOME}/nbuser3.2.1-aqua $*
Created attachment 3363 [details] ide.log
Tomas, please look at this issue. Thanks
I am sorry, but Swing menu in the Mac OS menu bar is not supported by Netbeans at this time. Changing issue type from defect to enhancement.
Target milestone -> 3.3.1.
Target milestone -> 3.4
Target milestone was changed from '3.4' to TBD.
Problem still occurs with Mac OS 10.2.5 (Jaguar), and Java 1.4.1. This was originally a problem with Java 1.3.1. I don't believe this is still an issue from the Apple side. I suggest moving this bug back to Defect. Also, the error is "java.lang.ClassCastException" not ClassNotFound. Here is a specific on the problem: ------------------------------------------------------------------------------- >Log Session: Tuesday, April 22, 2003 9:23:38 PM PDT >System Info: Product Version = NetBeans IDE 3.5 Beta (Build 200304142350) IDE Versioning = IDE/1 spec=3.42.1 impl=200304142350 Operating System = Mac OS X version 10.2.5 running on ppc Java; VM; Vendor = 1.4.1_01; Java HotSpot(TM) Client VM 1.4.1_01-14; Apple Computer, Inc. Java Home = /System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Home System Locale; Encod. = en_US; MacRoman Home Dir; Current Dir = /Users/eric; /Apps/NetBeans 3.5B/NetBeansLauncher.app/Contents/Resources/netbeans IDE Install; User Dir = /Apps/NetBeans 3.5B/NetBeansLauncher.app/Contents/Resources/netbeans; /Users/eric/.netbeans/3.5beta CLASSPATH = /Apps/NetBeans 3.5B/NetBeansLauncher.app/Contents/Resources/netbeans/lib/ext/boot.jar:/Apps/NetBeans 3.5B/NetBeansLauncher.app/Contents/Resources/netbeans/lib/ext/crimson-1.1.3.jar:/Apps/NetBeans 3.5B/NetBeansLauncher.app/Contents/Resources/netbeans/lib/ext/regexp-1.2.jar:/Apps/NetBeans 3.5B/NetBeansLauncher.app/Contents/Resources/netbeans/lib/ext/xerces-2.0.2.jar:/Apps/NetBeans 3.5B/NetBeansLauncher.app/Contents/Resources/netbeans/lib/ext/xml-apis-1.0b2.jar:/Library/Java/Home/lib/dt.jar:/Library/Java/Home/lib/jaws.jar:/Library/Java/Home/lib/jce.jar:/Library/Java/Home/lib/netscape.jar Boot & ext classpath = /System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Classes/charsets.jar:/System/Library/Java/Extensions/CoreAudio.jar:/System/Library/Java/Extensions/MRJToolkit.jar:/System/Library/Java/Extensions/QTJava.zip:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Home/lib/ext/apple_provider.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Home/lib/ext/ldapsec.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Home/lib/ext/localedata.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Home/lib/ext/sunjce_provider.jar Dynamic classpath = /Apps/NetBeans 3.5B/NetBeansLauncher.app/Contents/Resources/netbeans/lib/patches/bug_32655.jar:/Apps/NetBeans 3.5B/NetBeansLauncher.app/Contents/Resources/netbeans/lib/core-windows.jar:/Apps/NetBeans 3.5B/NetBeansLauncher.app/Contents/Resources/netbeans/lib/core.jar:/Apps/NetBeans 3.5B/NetBeansLauncher.app/Contents/Resources/netbeans/lib/openide.jar ------------------------------------------------------------------------------- Module patch or custom extension: /Apps/NetBeans 3.5B/NetBeansLauncher.app/Contents/Resources/netbeans/modules/patches/org-netbeans-modules-editor/os_x_keyboard.jar Module patch or custom extension: /Apps/NetBeans 3.5B/NetBeansLauncher.app/Contents/Resources/netbeans/modules/patches/org-netbeans-modules-java/bug_32655.jar [org.netbeans.core.modules #4] Warning: the module org.netbeans.modules.projects uses org.openide.deprecated which is deprecated: Clients of obsoleted Open APIs are encouraged to remove this dependency. See http://www.netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/upgrade.html#3.5i-sep Turning on modules: org.openide/1 [3.42.1 200304142350] org.openide.src [1.0.1 200304142350] org.openide.io [1.0.1 200304142350] org.openide.execution [1.0.1 200304142350] org.openide.compiler [1.0.1 200304142350] org.netbeans.core/1 [1.12.1 200304142350] org.netbeans.lib.terminalemulator [1.0.1 200304142350] org.netbeans.core.output/1 [1.0.1 200304142350] org.netbeans.core.compiler/1 [1.3.1 200304142350] org.openide.debugger [1.0.1 200304142350] org.netbeans.core.execution/1 [1.2.1 200304142350] org.netbeans.modules.debugger.core/3 [2.8.1 200304142350] org.netbeans.modules.debugger.jpda/1 [1.14.1 200304142350] org.netbeans.modules.servletapi/1 [1.2.1 200304142350] org.netbeans.modules.image/1 [1.10.1 200304142350] org.netbeans.modules.classfile/1 [1.7.1 200304142350] org.netbeans.modules.clazz/1 [1.12.1 200304142350] org.netbeans.libs.xalan/1 [1.1.1 2.3.1] org.netbeans.libs.jaxp/1 [1.1.1 1.1.2] org.netbeans.api.xml/1 [1.1.1 200304142350] org.netbeans.modules.xml.core/2 [0.8.1 XMLr35] org.netbeans.modules.xml.schema/1 [0.8.1 200304142350] org.netbeans.api.java/1 [1.2.1 200304142350] org.netbeans.modules.java/1 [1.15.1 200304142350] org.netbeans.core.windows/1 [1.1.1 200304142350] org.openide.deprecated [1.2.1 200304142350] org.netbeans.modules.servletapi23/1 [1.3.1 200304142350] org.openidex.util/2 [2.6.1 200304142350] org.netbeans.core.deprecated [1.2.1 200304142350] org.netbeans.modules.projects/1 [1.12.2 200304142350] org.netbeans.modules.javahelp/1 [1.2.1 200304142350] org.netbeans.modules.j2eeserver/2 [1.7.1 200304142350] org.netbeans.modules.jarpackager/2 [1.13.1 200304142350] org.netbeans.modules.schema2beans/1 [1.4.1 200304142350] org.netbeans.modules.html/1 [1.11.1 200304142350] org.netbeans.modules.web.core/1 [1.16.1 200304142350] org.netbeans.modules.web.jspparser/1 [1.5.1 200304142350] org.netbeans.modules.web.tomcat.tomcat40/1 [1.8.1 200304142350] org.netbeans.modules.web.tomcat.bundled/1 [1.3.1 200304142350] org.netbeans.modules.properties/1 [1.10.1 200304142350] org.netbeans.modules.editor/1 [1.13.1 200304142350] org.netbeans.core.ui/1 [1.1.1 200304142350] org.netbeans.modules.settings/1 [1.3.1] org.netbeans.modules.utilities/1 [1.13.1 200304142350] org.netbeans.modules.autoupdate/1 [2.7.1 200304142350] org.netbeans.modules.welcome/1 [1.4.1 200304142350] org.netbeans.modules.javadoc/1 [1.10.1 200304142350] org.netbeans.modules.xml.tax/2 [0.8.1 XMLr35] org.netbeans.modules.xml.tools/2 [0.8.1 200304142350] org.netbeans.modules.xml.text/2 [0.8.1 XMLr35] org.netbeans.modules.form/2 [1.12.1 200304142350] org.netbeans.modules.i18n/1 [1.12.1 200304142350] org.netbeans.modules.i18n.form/2 [1.11.1 200304142350] org.netbeans.modules.properties.syntax/1 [1.10.1 200304142350] org.netbeans.modules.httpserver/1 [1.12.1 200304142350] org.netbeans.modules.web.monitor/1 [1.8.1 200304142350] org.netbeans.modules.diff/1 [1.6.1 200304142350] org.netbeans.modules.vcscore/1 [1.8.1 200304142350] org.netbeans.modules.vcs.advanced/1 [1.8.1 200304142350] org.netbeans.modules.vcs.profiles.vss/1 [1.2.1 200304142350] org.netbeans.modules.web.taglibed/1 [1.11.1 200304142350] org.netbeans.modules.css/2 [0.8.1 200304142350] org.netbeans.modules.usersguide/1 [1.12.1 200304142350] org.netbeans.modules.vcs.cmdline.compat/1 [1.2.1 200304142350] org.netbeans.modules.group/1 [0.1.1 200304142350] org.netbeans.modules.vcs.profiles.pvcs/1 [1.2.1 200304142350] org.netbeans.modules.vcs.profiles.cvsprofiles/1 [1.2.1 200304142350] org.netbeans.core.ide/1 [1.2.1 200304142350] org.netbeans.modules.web.tomcat.tomcat40.autocompile/1 [1.5.1 200304142350] org.netbeans.modules.web.core.syntax/1 [1.12.1 200304142350] org.netbeans.modules.extbrowser/1 [0.7.1 200304142350] org.netbeans.modules.beans/1 [1.10.1 200304142350] org.netbeans.modules.applet/1 [1.12.1 200304142350] org.netbeans.modules.xsl/1 [0.8.1 XMLr35] org.netbeans.modules.xml.catalog/2 [0.9.1 XMLr35] org.netbeans.modules.web.ie/1 [1.15.1 200304142350] org.netbeans.modules.text/1 [1.11.1 200304142350] org.apache.tools.ant.module/2 [2.16.1 200304142350] org.netbeans.modules.db/1 [1.7.1 200304142350] org.netbeans.modules.cvsclient/1 [1.7.1 200304142350] org.netbeans.modules.web.debug/1 [1.8.1 200304142350] Starting system in full screen (MDI) UI mode. *********** Exception occurred ************ at Tue Apr 22 21:25:40 PDT 2003 java.lang.ClassCastException at apple.laf.ScreenMenuBar.componentAdded(ScreenMenuBar.java:48) at java.awt.AWTEventMulticaster.componentAdded(AWTEventMulticaster.java:138) at java.awt.Container.processContainerEvent(Container.java:1591) at java.awt.Container.processEvent(Container.java:1563) at java.awt.Component.dispatchEventImpl(Component.java:3598) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.Container.addImpl(Container.java:675) at java.awt.Container.add(Container.java:307) at org.netbeans.core.windows.WindowManagerImpl.addButtons(WindowManagerImpl.java:332) at org.netbeans.core.windows.WorkspaceImpl.setTopMaximizedMode(WorkspaceImpl.java:637) at org.netbeans.core.windows.ModeImpl.setTopMaximized(ModeImpl.java:1427) at org.netbeans.core.windows.ModeImpl.frameMaximized(ModeImpl.java:1671) at org.netbeans.core.windows.frames.InternalFrameListenerAdapter.internalFrameMaximized(InternalFrameListenerAdapter.java:68) at org.netbeans.core.windows.frames.InternalFrameTypeImpl.setMaximum(InternalFrameTypeImpl.java:410) at org.netbeans.core.windows.frames.DesktopPane.setMaxModeForFrame(DesktopPane.java:366) at org.netbeans.core.windows.frames.DesktopPane.setMaxMode(DesktopPane.java:331) at org.netbeans.core.windows.ModeImpl.restoreState(ModeImpl.java:1440) at org.netbeans.core.windows.ModeImpl.setVisible(ModeImpl.java:1362) at org.netbeans.core.windows.ModeImpl$1.performCommand(ModeImpl.java:520) at org.netbeans.core.windows.DeferredPerformer.processCommand(DeferredPerformer.java:195) at org.netbeans.core.windows.DeferredPerformer.putRequest(DeferredPerformer.java:89) at org.netbeans.core.windows.ModeImpl.doDockInto(ModeImpl.java:479) at org.netbeans.core.windows.ModeImpl.dockInto(ModeImpl.java:418) at org.netbeans.core.windows.ModeImpl.dockInto(ModeImpl.java:404) at org.netbeans.core.windows.ModeImpl.dockInto(ModeImpl.java:392) at org.netbeans.core.windows.WindowManagerImpl$TopComponentManager.doOpen(WindowManagerImpl.java:1632) at org.netbeans.core.windows.WindowManagerImpl$TopComponentManager.open(WindowManagerImpl.java:1589) at org.openide.windows.TopComponent.open(TopComponent.java:217) at org.netbeans.core.windows.layers.TCRefImpl.performCommand(TCRefImpl.java:157) at org.netbeans.core.windows.DeferredPerformer.processCommand(DeferredPerformer.java:195) at org.netbeans.core.windows.DeferredPerformer.putRequest(DeferredPerformer.java:89) at org.netbeans.core.windows.layers.TCRefImpl.updateMode(TCRefImpl.java:209) at org.netbeans.core.windows.layers.ModeData$CookiesImpl.addComponents(ModeData.java:830) at org.netbeans.core.windows.layers.ModeData$CookiesImpl.updateComponents(ModeData.java:666) at org.netbeans.core.windows.layers.ModeData$CookiesImpl.updateAll(ModeData.java:414) at org.netbeans.core.windows.layers.ModeData$CookiesImpl.loadDataSection(ModeData.java:1260) at org.netbeans.core.windows.ModeImpl.ensureSectionLoaded(ModeImpl.java:2402) at org.netbeans.core.windows.ModeImpl.setVisible(ModeImpl.java:1318) at org.netbeans.core.windows.WorkspaceVisibilityManager.setModesVisibility(WorkspaceVisibilityManager.java:544) at org.netbeans.core.windows.WorkspaceVisibilityManager.processModes(WorkspaceVisibilityManager.java:381) at org.netbeans.core.windows.WorkspaceVisibilityManager.doSetVisible(WorkspaceVisibilityManager.java:187) at org.netbeans.core.windows.WorkspaceVisibilityManager.performCommand(WorkspaceVisibilityManager.java:110) at org.netbeans.core.windows.DeferredPerformer.processCommand(DeferredPerformer.java:195) at org.netbeans.core.windows.DeferredPerformer.stateChanged(DeferredPerformer.java:159) at org.netbeans.core.windows.StateManager.fireStateChanged(StateManager.java:128) at org.netbeans.core.windows.StateManager.setVisibilityState(StateManager.java:153) at org.netbeans.core.windows.StateManager.propertyChange(StateManager.java:175) at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:330) at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:257) at java.awt.Component.firePropertyChange(Component.java:6688) at org.netbeans.core.windows.MainWindow.doShowWindow(MainWindow.java:190) at org.netbeans.core.windows.MainWindow.access$100(MainWindow.java:51) at org.netbeans.core.windows.MainWindow$2.run(MainWindow.java:165) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178) at java.awt.EventQueue.dispatchEvent(EventQueue.java:448) [catch] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:230) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99) -------------------------------------------------------------------------------
*** Issue 32806 has been marked as a duplicate of this issue. ***
I have good connections at Apple and traced down the RADAR (their bug tracker) bug status. Here's the result: "RADAR bug 2842030... The bug is closed and was fixed in the 1.4.1 GM. All the bugs it is related to are also closed."
I see. I tested 1.4.1 GM to see if this bug was fixed, but menu enabling did not work. I will recheck it. BTW: z1314@netbeans.org, you have to add itself to CC to see what is going on in this issue.
Created attachment 10327 [details] Quick patch against CVS trunk to fix CCE.
I just tested it again and I am positive that it did not work with 1.4.1. Menus are not enabled/disabled. Menu structure does not change dynamically.
This issue is related to the three buttons that are added into the menu bar by addButtons (the Minimize, Maximize, and Close). Apparently the Apple laf doesn't support having buttons in the JMenuBar. When I looked at the JMenuBar docs, it doesn't appear to me that Sun expects a JMenuBar to accept JButtons, it's just that currently it works on the other LAF's. To fix this, just stop adding buttons to the menubar (although I don't know where you should add them). This ClassCastException does not occur in situations where there are no buttons in the MenuBar (such as MDI mode, without the window maximized).
As suggested by rtmartell above; one can get Netbeans to work when the buttons are no longer in the menu bar in MDI mode on Panther. It is clear from this that removing the buttons is not going to be enough. The following issues will have to be dealt with in order to really get a good integration into OSX: - The toolbox has a fat and useless top frame. If you look at applications like MS- Word, Corel Paint, and others you will see that they have a very thin frame holder for the tool boxes that are placed on the thin side of the box. - The screen menu is only visible when the toolbox is highlighted, not when any of the other windows are. Henry
In the worst case, this should be solvable by using a menu subclass, overriding addImpl(), and simply discarding added components if the useScreenMenu==true && !component instanceof JMenuItem
CCE is not problem any more. The main problem is that menus are not enabled/ disabled. Menu structure does not change dynamically.
Yes, I know. Is there a separate issue for that?
We should probably fix the CCE anyway - it is still possible to put random components in the menu bar via Tools | Options (copy and paste the Memory meter, etc.)
Not planned for 3.6, planned for promo-D.
Reducing status to P3 - not a problem in MDI and only a very knowledgable user could produce it on current builds.
Fixed in trunk - MenuBar now overrides addImpl and will check if the screen menu bar is being used. Checking in src/org/openide/awt/MenuBar.java; /cvs/openide/loaders/src/org/openide/awt/MenuBar.java,v <-- MenuBar.java new revision: 1.7; previous revision: 1.6 done Processing log script arguments... Mailing the commit message to cvs@openide.netbeans.org (from tboudreau@netbeans. org)
Jeff Sider, could you verify the fix for this issue , please ? Thanks in advance.
Not sure if Jeff is still around, but I can verify it as working. Netbeans 4.0 RC2, MacOS 10.3.6, Java 1.4.2_05.
verified/closed
This issue had *4 votes* before move to platform component