Buonasera.
Ho rispolverato una vecchia classe che consente di impostare un'immagine di sfondo ad un JFrame.
Vorrei però che, data una piccola immagine, essa ricopra l'intera finestra, replicandosi in automatico in modo da dare l'illusione che si tratti di un'unica grande immagine. Al momento, invece, appare l'immagine nella sua dimensione reale ed il resto dello spazio rimane completamente bianco. Allego codice della classe.
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import javax.swing.JPanel;
public class DemoBackgroundSwing extends JPanel {
private static String path;
private Image img;
public DemoBackgroundSwing() {
img = Toolkit.getDefaultToolkit().createImage(path);
loadImage(img);
}
private void loadImage(Image img) {
try {
MediaTracker track = new MediaTracker(this);
track.addImage(img, 0);
track.waitForID(0);
} catch(InterruptedException e) {
e.printStackTrace();
}
}
protected void paintComponent(Graphics g) {
setOpaque(false);
g.drawImage(img, 0, 0, null);
super.paintComponent(g);
}
public static String getPath() {
return path;
}
public static void setPath(String path) {
DemoBackgroundSwing.path = path;
}
}