Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

19
LINES

< > BotCompany Repo | #1034620 // tempGlobalPopupMenu - popup menu items for any component on screen

JavaX fragment (include) [tags: use-pretranspiled]

Libraryless. Click here for Pure Java version (11200L/63K).

static AutoCloseable tempGlobalPopupMenu(IVF2<Component, JPopupMenu> fillMenu, double delay default 0.1) {
  ret fillMenu == null ?: tempAddPopupButtonListener(evt -> {
    var c = evt.getComponent();
    if (c == null) ret; // It's a tray icon popup
    var c2 = SwingUtilities.getDeepestComponentAt(c, evt.getX(), evt.getY());
    var p = ptInComponentFromEvent(evt);
    var p2 = translateLocationBetweenComponents(p, c2);
      
    awtLater(delay, r {
      var menu = currentPopupMenu();
      
      print("Pimping popup menu " + menu);
      new PopupMenuMaker maker;
      maker.ptInComponent(p2);
      maker.event(evt).existingMenu(menu).fillMenu(
        _menu -> fillMenu.get(c2, _menu)).run();
    });
  });
}

download  show line numbers  debug dex  old transpilations   

Travelled to 3 computer(s): bhatertpkbcr, ekrmjmnbrukm, mqqgnosmbjvj

No comments. add comment

Snippet ID: #1034620
Snippet name: tempGlobalPopupMenu - popup menu items for any component on screen
Eternal ID of this version: #1034620/18
Text MD5: 649fffea9f835c8fe82e498b52105fc4
Transpilation MD5: 28cdf5ee88d10a9ace9315febf13fa01
Author: stefan
Category: javax / gui
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2023-01-31 14:57:55
Source code size: 741 bytes / 19 lines
Pitched / IR pitched: No / No
Views / Downloads: 242 / 400
Version history: 17 change(s)
Referenced in: [show references]