import javax.swing.*;
import java.awt.*;
public class TEST {
public static void main(String[] args) {
new Window();
}
static class Window extends JFrame {
Window() {
setSize(300, 250);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
ImageIcon icon = new ImageIcon("icon.jpg");
setIconImage(icon.getImage());
getContentPane().add(new JLabel(icon));
setLocationRelativeTo(null);
setVisible(true);
}
}
}
Есть такой код, почему не показывается изображение в окне и почему не ставится иконка окна.
icon.jpg имеет размер 32х32 пикселя и лежит в src с остальными файлами (пользуюсь intellij idea). Результат выполнения кода — пустое окно со стандартной иконкой.
DenisJNewb
11 уровень
Есть код
Который выкидывает такую ошибку:
«C:\Program Files\Java\jdk1.8.0_45\bin\java» -Dfile.encoding=windows-1251 -jar C:\Users\User\IdeaProjects\NotePadNVES++\out\artifacts\SMNote\SMNote.jar
Ошибка в load: java.io.FileNotFoundException: C:\Users\User\IdeaProjects\NotePadNVES++\out\artifacts\SMNote\SMNote.jar\db.txt (Системе не удается найти указанный путь)
В IDE всё нормально работает, но .jar не хочет видеть этот файл. Проверил, файл в .jar лежит
Погуглил, решить не смог. Прошу помощи
1. Идея, скорее всего, запускает это еще до упаковки в архив, потому не испытывает никаких сложностей. Ради интереса можно вывести в консоль
2. Судя по названию файла, это должно быть «базой данных». Как по мне не лучшая идея, класть базу данных в архив. Почему? Потому что:
3. Нельзя просто так взять и читать/писать файлы из/в архив. Архив это же не просто папка с файлами, что бы оттуда что-то прочитать — нужно это разархивировать, что бы что-то добавить/обновить, нужно заново весь архив перепаковать(на 31 уровне есть большая задача по архивам).
Думаю стоит прочитать что-то вроде этого, а дальше уже развивать мысль.
По приведенной ссылке, кроме самого ответа, в самом низу есть пример, как читать файл из своего архива в виде ресурса, но изменять его и писать обратно, думаю, все же не стоит.
Писать нужно и все нормально будет.
Так тоже не работает. Просто пустое окно, со стандартным значком джава
UPD:
сделал в пэйнте пустой зеленый квадрат — 800х800, сохранил как .jpg и всё заработало.
А ту картинку не пропускает почему-то. Спасибо за помощь, буду рисовать с нуля.
и дабы Вашу картинку не растянуло, используйте
и посмотрите корректный ли путь к картинке