JAVA ECLIPSE: изображение, связанное с этикеткой, не загружается - PullRequest
0 голосов
/ 28 февраля 2019

Кто-нибудь знает, почему мое изображение не загружается?Я много чего перепробовал и пока ничего, прежде всего папка "IMGFiles" уже похожа на папку с исходными файлами.

    package Main;

import javax.swing.*;

public class Menu extends JFrame {

    public Menu()
    {
        ImageIcon imagem = new ImageIcon(Menu.class.getResource("/LiturgisGame/IMGFiles/LiturrgisLogoLoad.png"));
        JLabel logo = new JLabel();
        logo.setIcon(imagem);
    }

    public static void main(String[] args) {
        //new Menu();
        JFrame janela = new JFrame();
        janela.setSize(816, 419);
        janela.setUndecorated(true);
        janela.setVisible(true);
        janela.setLocationRelativeTo(null);
    }

}

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Это происходит потому, что вы готовите JLabel внутри конструктора Menu и не запускаете ни одного экземпляра класса Menu.Кроме того, вы не добавляете JLabel в фрейм (панель содержимого).

Проверьте этот пример:

public class Menu extends JFrame {

    public Menu()
    {
        ImageIcon imagem = new ImageIcon(Menu.class.getResource("/LiturgisGame/IMGFiles/LiturrgisLogoLoad.png"));
        JLabel logo = new JLabel();
        logo.setIcon(imagem);
        setSize(816, 419);
        setUndecorated(true);
        setLocationRelativeTo(null);
        getContentPane().add(logo); //Add the label to the content pane
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(()->{
            new Menu().setVisible(true);
        });
    }
}
0 голосов
/ 28 февраля 2019

Я предполагаю, что вы используете UNIX (для формы пути, который вы используете).Вот подход для вас:

import javax.swing.ImageIcon;
import javax.swing.JFrame;

import com.apple.eawt.Application;

public class Menu extends JFrame {

    public Menu(){ }

    public static void main(String[] args) {

        Application.getApplication().setDockIconImage(new ImageIcon("/LiturgisGame/IMGFiles/LiturrgisLogoLoad.png").getImage());

        //new Menu();
        JFrame janela = new JFrame();
        janela.setSize(816, 419);
        janela.setUndecorated(true);
        janela.setVisible(true);
        janela.setLocationRelativeTo(null);
    }

}

Вывод: enter image description here

...