Я знаю, что метод возвращает -1, когда он не может получить ширину или высоту изображения, но я надеюсь, что вы можете сказать мне, почему он не может справиться сделай это. Здесь я создаю несколько ImageIcons и сохранить их в массиве изображения:Java swing Изображение всегда имеет высоту и ширину -1
for(int x = 0; x < playerSprites.length; x++){
playerSprites [x] = new ImageIcon("player" + x + ".png").getImage()
}
Позже я создаю экземпляр класса, который только создает этот массив в данный момент. Когда я тогда хочу, чтобы получить изображения из массива в другом классе проверить их высоту и ширину, и я всегда получаю -1 на оба:
public Image nextImage(String name){
Image image = null;
if(name.equals("player")){
if(counter == animationImageManager.getPlayerSprites().length-1){
counter = 0;
}
image = animationImageManager.getPlayerSprites()[counter];
counter++;
}
return image;
}
«player» + x + «.png» вы знаете, что x является «int» здесь справа, а не строкой? – jhobbie
Вы проверили, правильно ли они созданы при заполнении массива? – resueman
@resueman Как бы вы это сделали. Когда я проверяю первый, он говорит imageFile = "player0.png", и у меня есть это изображение в том же пакете. –