static int forwardOneClick_windowSize = 11; // odd should look nice. Set to 1 for an invisible window static int forwardOneClick_clickDelay = 0; // Delay in ms between closing window and forwarding click. 0 seems to work fine. static int forwardOneClick_trackingSpeed = 10; // How often to move the window (ms) // onClick: voidfunc(Point, int) - 2nd parameter is button (1 to 3) // if you make it a func and return false, click is not forwarded static void forwardOneClick(final O onClick) { awtIfNecessary { final new JWindow window; final int windowSize = forwardOneClick_windowSize; window.setSize(windowSize, windowSize); window.setVisible(true); window.setAlwaysOnTop(true); JPanel panel = singleColorPanel(Color.red); window.setContentPane(panel); revalidate(window); final new Robot robot; panel.addMouseListener(new MouseAdapter { public void mouseReleased(final MouseEvent e) { window.setVisible(false); final int b = e.getButton(); final int mod = b == 1 ? InputEvent.BUTTON1_DOWN_MASK : b == 2 ? InputEvent.BUTTON2_DOWN_MASK : InputEvent.BUTTON3_DOWN_MASK; final Point point = getMouseLocation(); swingLater(forwardOneClick_clickDelay, r { if (isFalse(callF(onClick, point, b))) ret; robot.mousePress(mod); robot.mouseRelease(mod); }); } }); swingEvery(window, forwardOneClick_trackingSpeed, r { Point p = getMouseLocation(); window.setLocation(p.x-windowSize/2, p.y-windowSize/2); }); } }
Began life as a copy of #1005565
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, ddnzoavkxhuk, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1005566 |
Snippet name: | forwardOneClick - track mouse pointer and record + forward one click |
Eternal ID of this version: | #1005566/1 |
Text MD5: | d61786bd99897ea3be8703f0825fb4ef |
Author: | stefan |
Category: | javax / gui |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2016-11-29 17:02:55 |
Source code size: | 1633 bytes / 40 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 623 / 628 |
Referenced in: | #1005569 - forwardClicks - track mouse pointer forward clicks & drags continously #1005610 - trackOneClick - track mouse pointer and record (don't forward) #1006654 - Standard functions list 2 (LIVE, continuation of #761) |