Per semplicità ho tolto tutto il codice autogenerato da NetBeans..
Questo è il mio Jpanel..
codice:
package provaimmaginejpanel.ui;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;
public class MyJPanel extends javax.swing.JPanel {
private Image img;
public MyJPanel() {
initComponents();
URL mioUrl = MyJPanel.class.getResource("images/miaimmagine.jpg");
System.out.println(mioUrl.toString());
Image img = Toolkit.getDefaultToolkit().createImage(mioUrl.toString());
}
@Override
public void paintComponent(Graphics page) {
super.paintComponent(page);
page.drawImage(img, 0, 0, null);
}
}
Questa è la mia JFrame main..
codice:
package provaimmaginejpanel.ui;
public class MyJFrame extends javax.swing.JFrame {
public MyJFrame() {
initComponents();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
MyJPanel pan = new MyJPanel();
MyJFrame frm = new MyJFrame();
frm.add(pan);
frm.setVisible(true);
}
});
}
}
Se faccio il RUN dell'applicazione NetBeans.. questo è l'output:
run:
file:/home/.../NetBeansProjects/ProvaImmagineJPanel/build/classes/provaimmaginejpanel/ui/images/miaimmagine.jpg
BUILD SUCCESSFUL (total time: 5 seconds)
..ed il frame mi appare senza l'immagine di sfondo..