Обновите строки кадра данных панд на основе других строк

Ваша программа выйдет из строя, потому что RockPaperScissors.class.getResource("Rock.jpg") не удалось найти указанный файл. Это также учитывает другие изображения, которые вы пытаетесь загрузить. Java пытается найти их в корневой папке проекта или в том же каталоге, что и файл JAR, когда вы превращаете свою программу в исполняемый JAR. Как вы указали, они находятся в той же папке, что и перечисление.

Я бы рекомендовал создать новую папку в корне вашего проекта под названием «res» и переместить все ваши файлы изображений в это папка. Затем замените:

new ImageIcon(RockPaperScissors.class.getResource("Rock.jpg"))

на:

new ImageIcon("res/Rock.jpg")

И сделайте это для каждого места, где вы загружаете изображения.

На несвязанной ноте , так как иконы переименования RockPaperScissors не должны меняться, лучше (и проще) сделать их общедоступными. Конечные переменные могут быть назначены только один раз и должны быть назначены при создании объекта. Таким образом, они действуют как константы. В коде:

public final ImageIcon icon;

private RockPaperScissors(ImageIcon icon) {
    this.icon = icon;
}

И просто избавитесь от геттера и сеттера, теперь вы можете напрямую перейти к полю значка.

0
задан White Shadows 16 January 2019 в 17:40
поделиться