sclass DesktopPaneWithSkyPicture extends JDesktopPane { BufferedImage image; *(BufferedImage *image) {} protected void paintComponent(Graphics g) { paintSkyBackground(this, g, image); } } static JDesktopPane jDesktopPaneWithSkyPicture(S imageID, Color background) { ret setBackground(background, swingNu(DesktopPaneWithSkyPicture, loadImage2(imageID))); }