Ciao, sono riuscito ad inserire lo sfondo che volevo nel mio JPanel.
Adesso il problema è che non adatta l'immagine alla finestra che io imposto in netBeans nella schermata design.
Come faccio a dirgli di adattare l'immagine automaticamente a seconda della grandezza della finestra?
Questo è il codice del mio JPanel:
codice:public class backgroundedPanel extends javax.swing.JPanel { protected Image img; public backgroundedPanel(String localURL) { super(); try {this.img = ImageIO.read(getClass().getResource(localURL));} catch (IOException ex) {System.out.print("Impossibile leggere l'immagine per creare il pane \n");} } @Override protected void paintComponent(Graphics g) { if (img == null) { super.paintComponent(g); } else { int panelWidth = getWidth(); int panelHeight = getHeight(); int imageWidth = img.getWidth(null); int imageHeight = img.getHeight(null); // Repeats the draw of the image many times as necessary // to fill the entire surface of the panel. for (int y = 0; y < panelHeight; y += imageHeight) { for (int x = 0; x < panelWidth; x += imageWidth) { g.drawImage(img, x, y, null); } } } } /* il metodo "setBounds" si occupa di posizionare e dimensionare un elemento grafico. Noi creiamo * qui una versione "facilitata" di questo metodo che dimensiona AUTOMATICAMENTE il pane se- * condo le dimensioni dell'immagine, pertanto in ingresso riceve solo due coordinate */ public void setBounds(int x, int y) { super.setBounds(x,y,img.getWidth(this),img.getHeight(this)); } }

Rispondi quotando