java为什么我的BlueJ jar文件会加载一些图像,而不是其他图像?
我使用了这个网站的一些信息来找到如何使用URL将图像放入jar文件;我希望能单独使用。但是当我用BlueJ制作jar文件时,只显示了一些图像
这是一个21点游戏,只有桌面画布出现,而从来没有牌出现。以下是代码:
这是有效的(表格):
public class TableComponent extends JLabel{
BufferedImage table;
public TableComponent(){
URL finalTable = getClass().getResource("blackjackTableCanvas.jpg");
try {
table = ImageIO.read(finalTable);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
super.paintComponent(g2);
g2.drawImage(table, 0, 0, null);
}...}
但这不是(卡片):
public class CardRender2 extends JComponent{
BufferedImage image;
String val;
String suit;
String filename;
public CardRender2(Card card) {
this.val = card.value.face;
this.suit = card.suit.toString();
filename = this.fetchCardFileLabel();
URL cardview = getClass().getResource("\\card deck\\" + filename + ".png");
try {
image = ImageIO.read(cardview);
} catch (IOException e) {
e.printStackTrace();
}
}
public CardRender2(){
this.val = null;
this.suit = null;
filename = "DEALER_FIRST_CARD";
URL cardview = getClass().getResource("\\card deck\\DEALER_FIRST_CARD.png");
try {
image = ImageIO.read(cardview);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
super.paintComponent(g2);
g2.drawImage(image, 0, 0, null);
}...}
我的卡片在我试图导入BlueJ的目录中的一个文件夹中,而表格在根目录中。里面有53张牌(包括经销商隐藏的牌),我不想把所有的牌都放在根上。我试图以同样的方式实现它们。我该怎么做
# 1 楼答案
看起来像是从
到
成功了