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.
In the files listed below there is used calling of method setMnemonic() or setDisplayedMnemonic(). Class org.openide.awt.Mnemonics should be used instead - see issue #67807. mobility\cldcplatform\src\org\netbeans\modules\mobility\cldcplatform\CustomizerPanel.java mobility\cldcplatform\src\org\netbeans\modules\mobility\cldcplatform\customwizard\ClasspathPanel.java mobility\cldcplatform\src\org\netbeans\modules\mobility\cldcplatform\customwizard\CommandLinesPanel.java mobility\cldcplatform\src\org\netbeans\modules\mobility\cldcplatform\DetectPanel.java mobility\cldcplatform\src\org\netbeans\modules\mobility\cldcplatform\libraries\J2MEVolumeCustomizer.java mobility\cldcplatform\src\org\netbeans\modules\mobility\cldcplatform\SrcDocPathsPanel.java mobility\cldcplatform\src\org\netbeans\modules\mobility\cldcplatform\wizard\DetectPanel.java mobility\cldcplatform\src\org\netbeans\modules\mobility\cldcplatform\wizard\FindPanel.java mobility\deployment\ftpscp\src\org\netbeans\modules\mobility\deployment\ftpscp\FtpCustomizerPanel.java mobility\deployment\ftpscp\src\org\netbeans\modules\mobility\deployment\ftpscp\ScpCustomizerPanel.java mobility\deployment\sonyericsson\src\org\netbeans\modules\mobility\deployment\sonyericsson\SonyEricssonCustomizerPanel.java mobility\deployment\webdav\src\org\netbeans\modules\mobility\deployment\webdav\WebDAVCustomizerPanel.java mobility\designer\nb_midp_components\nb_midp_module\src\org\netbeans\modules\vmd\components\nbmidp\InfoScreenActionPEPanel.java mobility\designer\nb_midp_components\nb_midp_module\src\org\netbeans\modules\vmd\components\nbmidp\SimpleTableModelPropertyEditorPanel.java mobility\designer\src\org\netbeans\modules\mvd\model\midp\DStringCodeValuePropertyEditor.java mobility\designer\src\org\netbeans\modules\mvd\model\midp\propertyeditor\CustomCodeEditor.java mobility\designer\src\org\netbeans\modules\mvd\model\midp\propertyeditor\JavaCodeEditorPanel.java mobility\designer\src\org\netbeans\modules\mvd\model\midp\propertyeditor\PreferredSizePropertyEditor.java mobility\designer\src\org\netbeans\modules\mvd\model\midp2\propertyeditor\ActionPropertyEditorPanel.java mobility\designer\src\org\netbeans\modules\mvd\model\midp2\propertyeditor\AlertTimeoutPropertyEditor.java mobility\designer\src\org\netbeans\modules\mvd\model\midp2\propertyeditor\AResourceChooserPropertyEditor.java mobility\designer\src\org\netbeans\modules\mvd\model\midp2\propertyeditor\ImageResourcePropertyEditor.java mobility\designer\src\org\netbeans\modules\mvd\model\midp2\propertyeditor\Midp2FontPropertyEditor.java mobility\designer\src\org\netbeans\modules\mvd\model\midp2\propertyeditor\Midp2ItemLayoutTypePropertyEditor.java mobility\designer\src\org\netbeans\modules\mvd\model\midp2\propertyeditor\Midp2TextFieldConstraintPropertyEditor.java mobility\designer\src\org\netbeans\modules\mvd\ui\palette\wizard\SelectClassesPanel.java mobility\designer\src\org\netbeans\modules\mvd\ui\palette\wizard\SelectProjectPanel.java mobility\designer\src\org\netbeans\modules\mvd\ui\wizard\MIDPTargetChooserPanelGUI.java mobility\end2end\jsr172\src\org\netbeans\modules\mobility\jsr172\multiview\ClientGeneralInfoPanel.java mobility\end2end\jsr172\src\org\netbeans\modules\mobility\jsr172\multiview\JSR172ServicePanel.java mobility\end2end\jsr172\src\org\netbeans\modules\mobility\jsr172\wizard\ClientInfo.java mobility\end2end\src\org\netbeans\modules\mobility\end2end\multiview\ClientGeneralInfoPanel.java mobility\end2end\src\org\netbeans\modules\mobility\end2end\multiview\ClientOptionsPanel.java mobility\end2end\src\org\netbeans\modules\mobility\end2end\multiview\ServerGeneralInfoPanel.java mobility\end2end\src\org\netbeans\modules\mobility\end2end\multiview\ServicesPanel.java mobility\end2end\src\org\netbeans\modules\mobility\end2end\ui\treeview\MultiStateCheckBox.java mobility\end2end\src\org\netbeans\modules\mobility\end2end\ui\wizard\ClientOptionsPanelGUI.java mobility\end2end\src\org\netbeans\modules\mobility\end2end\ui\wizard\WebApplicationPanel.java mobility\licensing\src\org\netbeans\modules\mobility\licensing\AcceptLicense.java mobility\project\src\org\netbeans\modules\mobility\project\deployment\CopyCustomizerPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\AddAbilityPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\AddAPIPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\AddAttributePanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\AddMIDletPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\AddPushRegistryPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CloneConfigurationPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerAbilities.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerCompile.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerConfigManager.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerDeploy.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerFiltering.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerGeneral.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerJad.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerJar.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerJavadoc.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerLibraries.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerMIDlets.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerMIDP.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerObfuscate.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerPermissions.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerPushReg.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerRun.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\CustomizerSign.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\J2MECustomizer.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\NewConfigurationPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\regex\MultiStateCheckBox.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\RemovalPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\SaveConfigurationPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\customizer\VisualConfigSupport.java mobility\project\src\org\netbeans\modules\mobility\project\ui\CyclicDependencyWarningPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\QuickRunPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\security\AddKeystorePanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\security\CreateKeyAliasPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\security\EnterPasswordPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\security\ExportPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\security\SecurityManagerPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\wizard\ConfigurationsSelectionPanelGUI.java mobility\project\src\org\netbeans\modules\mobility\project\ui\wizard\i18n\LocalizationSupportPanelGUI.java mobility\project\src\org\netbeans\modules\mobility\project\ui\wizard\imports\SourcesPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\wizard\imports\SuitePanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\wizard\imports\WtkPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\wizard\MIDPTargetChooserPanelGUI.java mobility\project\src\org\netbeans\modules\mobility\project\ui\wizard\PlatformInstallPanel.java mobility\project\src\org\netbeans\modules\mobility\project\ui\wizard\PlatformSelectionPanelGUI.java mobility\project\src\org\netbeans\modules\mobility\project\ui\wizard\ProjectPanel.java mobility\project\src\org\netbeans\modules\project\support\customizer\AntArtifactChooser.java mobility\project\src\org\netbeans\modules\project\support\customizer\LibrariesChooser.java mobility\svg\nb_svg_midp_module\src\org\netbeans\modules\vmd\components\svg\SvgImageResourcePropertyEditor.java
cc'ing owners of affected modules. Please fix your part and attach cvs log to this issue, thank you.
You are asking to rewrite all the UI components that are a part of Mobility. The components are mostly designed using I18N support in Form editor and manual change would take weeks. I am not going to accept this issue unless there would be a strong reason and an automated process to do so.
Mac OS isn't supported platform for Mobility Pack (yet). I'm changing it to enhancement to don't lost the issue from radar when Mac OS will become supported platform. Jara, could you provide a reason why MobPack should rewrite the code different than the Mac OS?
Changing back to DEFECT. The reason why to fix this issue is not only mnemonics problem on Mac OS. Following example describes what happends by fixing this issue. ----------------------------------------------------------------------------- The original code like this: componentXYZ.setText(NbBundle.getMessage(XYZ.class, "XYZ")); componentXYZ.setMnemonic((NbBundle.getMessage(XYZ.class, "XYZ_mnem")).charAt(0)); Will look like following: org.openide.awt.Mnemonics.setLocalizedText(componentXYZ, NbBundle.getMessage(XYZ.class, "XYZ")); // NOI18N ------------------------------------------------------------------------------ It means that: #1/the i18n will be assured #2/resource bundles will be reduced (only one key will be there in the bundle instead of two of them) #3/performance team will be more happy as a consequence of #2/ I am cc-ing Ken. Ken, please correct me if I am wrong in I18N area.
ad #1 - I18N is assured even now ad #2 - this is not a defect ad #3 - I am not happy to change hunderts of lines of code manually without a strong reason Don't you think about an automated process instead of filling tens of irracional issues and forcing people to change thousands lines of code manually ?
Adam and all, I would like to clear the reasons why it's much better to do it the way Jara suggested : 1. I18N - I remember Ken asked for these changes few times in the past, I think it's much simpler localised one key instead of two 2. reducing the resource bundles & java classes leads to smaller jars, it leads to faster startup so clearly speaking this is performance iprovement as well 3. all think you have to do is to open your dialog in our form editor and change it to use org.openide.awt.Mnemonics as well as remove unused keys in your bundles
increasing priority. It's mandatory to change it for 6.0
Reassigning to Martin R. Please decide what to do with this issue.
assigning to Adam. Since he has already changed most of the forms it should be closed as fixed soon. Changing platform to all - assume it affects all platforms.
fixed about 400 components and 800 resource bundle records in Mobility BTW: if you are interested I've implemented semi-automated converter
v