stefanofornari opened a new issue, #8763:
URL: https://github.com/apache/netbeans/issues/8763

   ### Apache NetBeans version
   
   Apache NetBeans 27
   
   ### What happened
   
   As per all documentation I have found and in particular [How do i add an 
icon to the context 
menu](https://netbeans.apache.org/wiki/main/netbeansdevelopperfaq/DevFaqAddIconToContextMenu/),
 The following action should show in the context menu the icon and the 
shortcut. None are actually displayed as per the screenshot.
   
   ```
   @ActionID(
       category = "Edit",
       id = "com.example.SomeAction"
   )
   @ActionRegistration(
       iconBase = "icons/restart.png",
       displayName = "#CTL_SomeAction",
       lazy = true
   )
   @ActionReferences({
       @ActionReference(path = "Shortcuts", name = "DOS-K"),
       @ActionReference(path = "Projects/Actions", position = 100),
   })
   @Messages("CTL_SomeAction=Some Action")
   public final class SomeAction
       extends AbstractAction
       implements ActionListener, Presenter.Popup {
   
       @StaticResource
       private static final String ICON = "icons/restart.png";
       private static final long serialVersionUID = 1L;
       private final LookupListener lookupListener;
       private final Lookup.Result<Project> result;
   
       public SomeAction() {
           putValue(SMALL_ICON, ImageUtilities.loadImageIcon(ICON, false));
           putValue(NAME, Bundle.CTL_SomeAction());
           putValue("iconBase", ICON);
           result = 
Utilities.actionsGlobalContext().lookupResult(Project.class);
           this.lookupListener = new LookupListener() {
   
               @Override
               public void resultChanged(LookupEvent ev) {
                   EventQueue.invokeLater(new Runnable() {
   
                       @Override
                       public void run() {
                           setEnabled(!result.allInstances().isEmpty());
                       }
                   });
               }
           };
           result.addLookupListener(WeakListeners.create(LookupListener.class, 
this.lookupListener, result));
           this.lookupListener.resultChanged(null);
       }
   
       @Override
       public void actionPerformed(ActionEvent e) {
           Logger.getLogger("com.example").info("actionPerformed");
           Action action = 
FileUtil.getConfigObject("Actions/Edit/com-example-SomeAction.instance", 
Action.class);
           KeyStroke ks = action != null ? (KeyStroke) 
action.getValue(Action.ACCELERATOR_KEY) : null;
           javax.swing.JOptionPane.showMessageDialog(null, "Hello! " + ks);
       }
   
       @Override
       public JMenuItem getPopupPresenter() {
           Logger.getLogger("com.example").info("getPopupPresenter");
           return new JMenuItem(this);
       }
   }
   ```
   
   <img width="1080" height="1440" alt="Image" 
src="https://github.com/user-attachments/assets/2573e511-70dd-4a15-95e6-8e59d533775b";
 />
   
   ### Language / Project Type / NetBeans Component
   
   NetBeans Platform
   
   ### How to reproduce
   
   use the code above. I have attached a simple project too.
   
   [action.zip](https://github.com/user-attachments/files/21985819/action.zip)
   
   ### Did this work correctly in an earlier version?
   
   No / Don't know
   
   ### Operating System
   
   Linux Ubuntu
   
   ### JDK
   
   any
   
   ### Apache NetBeans packaging
   
   Apache NetBeans binary zip
   
   ### Anything else
   
   I can help debugging provided some directions
   
   ### Are you willing to submit a pull request?
   
   Yes


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@netbeans.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@netbeans.apache.org
For additional commands, e-mail: notifications-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to