1
我用一個類Imagepanel在netbeans中顯示一個背景圖片給我的面板。它從IDE netbeans 6.8運行它時成功工作,但是當我從jar中運行它時文件它不顯示圖像。請幫我解決這個問題。謝謝你的評論。 這裏是我的代碼ImagePanel.javaImagePanel沒有在我的jar文件中顯示netbeans
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
class ImagePanel extends JPanel {
private Image img;
public ImagePanel(String img) {
this(new ImageIcon(img).getImage());
}
public ImagePanel(Image img) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(this.getMaximumSize());
setMinimumSize(size);
setMaximumSize(size);
setSize(this.getMaximumSize());
setLayout(null);
}
@Override
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}
}
我已經創建了我的板是在這樣的另一個類,其中我的形象是在src目錄中的圖像。提前致謝 。
ImagePanel pan2 = new ImagePanel("src/images/tarif.png");
1)通過部署時,這些資源可能會成爲一個[標籤:嵌入式的資源。在這種情況下,資源必須通過'URL'而不是'File'訪問。查看標籤的[info page](http://stackoverflow.com/tags/embedded-resource/info),以獲得一個「URL」。 2)'g.drawImage(img,0,0,null);'應該是'g.drawImage(img,0,0,this);'3)'public void paintComponent(Graphics g){'should be'public void paintComponent(Graphics g){super.paingComponent(g);' –
@Andrew Thompson感謝您的迴應我更新了我的代碼,因爲您告訴我並且它對我有用:) – Emna