Ваш «\ т» компилируется в качестве вкладки - вам нужно, чтобы избежать его:
private final ImageIcon placeHolder = new ImageIcon(
this.getClass().getClassLoader().getResource("Cards\\trans.png"));
Примечание двойной обратной косой черты. Это, конечно, не единственное, что неправильно, но это начало ...
Фактически, я бы указал его вместо косой черты. В любом случае это работает как на ОС Windows, так и на Unix-системах, а также работает с файлами jar. Единственная причина, по которой я выделил двойную обратную косую черту, заключалась в том, чтобы поднять точку сбрасывания строк в целом. Попробуйте это:
private final ImageIcon placeHolder = new ImageIcon(
this.getClass().getClassLoader().getResource("Cards/trans.png"));
Далее, убедитесь, что у вас есть точное правильное имя файла, включая случай. Хотя файловые системы Windows обычно не чувствительны к регистру, файлы jar. Если на самом деле это «карты» вместо «Карты» или «TRANS.png» вместо «trans.png», это не сработает.
Не работает, как? Вы получаете исключение? Это не делает? Пожалуйста, будьте более конкретными –
http://stackoverflow.com/questions/31127/java-swing-displaying-images-from-within-a-jar, как опубликовано jjnguy в вопросе, связанном с BalusC –
Classmate? http://stackoverflow.com/questions/1662686/images-will-not-work-in-a-jar-file – BalusC