В вашем коде есть ошибка. Вы устанавливаете grafica
на null
строку, прежде чем разыменовываете ее. Это, безусловно, выбросит NullPointerException
. Вместо того, чтобы объявлять свой собственный объект Graphics, вы должны использовать тот, который передан методу, который вы будете использовать для рисования. Чтобы сделать это в Swing, вы должны реализовать метод paintComponent
для рисования вашего изображения, примерно так:
public void paintComponent(Graphics grafica) {
grafica.drawImage(imgFondo, 0, 0, this);
}
Обратите внимание, что вы не хотите выполнять длительные задачи, такие как чтение файлов изображений с диска в потоке рисования. В приведенном выше примере предполагается, что вы уже загрузили imgFondo
и сохранили его так, чтобы он был доступен в методе paintComponent
.