sclass DesktopPaneWithSkyPicture_autoUnload extends JDesktopPane { S imageID; BufferedImage image; new RestartableCountdown countdown; double autoUnloadAfter = 60.0; bool verbose = true; *(S *imageID, BufferedImage *image) {} protected void paintComponent(Graphics g) { paintSkyBackground(this, g, _getImage()); } BufferedImage _getImage() { ret swing(func -> BufferedImage { if (image == null) { long time = sysNow(); image = loadImage2(imageID); if (verbose) _print("Background image loaded in " + elapsedMS(time) + " ms"); } countdown.start(autoUnloadAfter, r-awt { if (image != null) { image = null; if (verbose) _print("Background image released"); } }); ret image; }); } } static JDesktopPane jDesktopPaneWithSkyPicture_autoUnload(fS imageID, Color background) { ret setBackground(background, swingNu(DesktopPaneWithSkyPicture_autoUnload, imageID, loadImage2(imageID))); }
Began life as a copy of #1015863
download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1015966 | 
| Snippet name: | jDesktopPaneWithSkyPicture_autoUnload | 
| Eternal ID of this version: | #1015966/14 | 
| Text MD5: | 06c342ee40f15a0759763d2bd7a66dd3 | 
| Author: | stefan | 
| Category: | javax / gui | 
| Type: | JavaX fragment (include) | 
| Public (visible to everyone): | Yes | 
| Archived (hidden from active list): | No | 
| Created/modified: | 2018-06-02 12:40:10 | 
| Source code size: | 1047 bytes / 34 lines | 
| Pitched / IR pitched: | No / No | 
| Views / Downloads: | 543 / 596 | 
| Version history: | 13 change(s) | 
| Referenced in: | [show references] |