[英]Why does my java applet work with some images and not others?
[英]Why does my BlueJ jar file load some images, but not others?
我使用了该站点周围的一些信息来查找使用URL将图像放入jar文件中的方法。 我希望能够单独使用。 但是,当我使用BlueJ制作jar文件时,仅显示一些图像。
它是二十一点游戏,只显示桌面画布,而没有纸牌。 这是代码:
此工作(表):
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张卡(包括发牌人隐藏的卡),我宁愿不把所有的卡都放在根中。 我试图类似地实现它们。 我怎样才能做到这一点?
看起来像从
URL cardview = getClass().getResource("\\card deck\\DEALER_FIRST_CARD.png");
至
URL cardview = getClass().getResource("card deck/DEALER_FIRST_CARD.png");
做到了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.