static JPanel jTiledBackground(S imageID) { final BufferedImage tileImage = loadImage2(imageID); ret new JPanel { protected void paintComponent(Graphics g) { paintTiledBackground(this, g, tileImage); } }; } static JPanel jTiledBackground(S imageID, Component contents) { JPanel panel = jTiledBackground(imageID); panel.setLayout(new BorderLayout); panel.add(BorderLayout.CENTER, jtransparent_recursive(contents)); ret panel; }