Проблема GetClass в значке настройки приложения Java - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь выполнить простую операцию по установке значка приложения в Java-приложении.У меня есть много рабочих примеров со мной, но в этом случае это не удается.Пожалуйста, помогите, я попытался а) б) в) отмечены в коде.а) Дает подсказку об ошибке «Нестатические getClass не могут быть ссылки из статического контекста», поэтому я попытался б) и в).В обоих случаях программа запускается, но значок НЕТ установлен, ошибок нет.(Я поставил одно и то же изображение в разные пути для целей тестирования)

private static void createAndShowGUI() {

        myFrame = new MyDynamic();
        myFrame.setTitle( "Sunsong Public School : Home" );
        a)myFrame.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("../Images/Sudan.png")));
        b)myFrame.setIconImage(ImageIO.read(new File("../Images/Sudan.png")));
        c)Image icoon = Toolkit.getDefaultToolkit().getImage("Sudan.png"

1 Ответ

0 голосов
/ 01 июня 2018

Получил решение из какого-то другого источника.Самое смешное, что у меня есть десятки работающих приложений с Icon.Во всех них я использую Toolkit-getclass-getresources.Но в этом случае я возился со старым кодом и застрял внутри статического блока.Из статического контекста вызов инструментария нестатический getClass не работает.За последние 20 часов пробовал сотни примеров из сети.Java IO также НЕ работает, жалобы не могут «читать из файла».

Это тот, который, наконец, сработал ..

ImageIcon icon = new ImageIcon(ClassLoader.getSystemResource("Sudan.png"));
Image img = icon.getImage();
myFrame.setIconImage(img); // frame is a JFrame
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...