свинг не показывает значки png на кнопках j - PullRequest
0 голосов
/ 10 мая 2018



Я написал простой JFrame в Java и добавил кнопку. Затем я добавил иконку .png к кнопке, но она продолжает давать мне исключение. (У меня нет проблем с иконками .jpg, и это хорошо работает)

Вот мой код и исключения.

public class Test
{
    static JFrame mainFrame;
    public static void main(String[] args)
    {
        mainFrame = new JFrame("a");
        mainFrame.setSize(300, 300);
        mainFrame.setLocation(50, 50);
        JButton btn = new JButton();
        ImageIcon icon = new ImageIcon("C:\\a.png");
        btn.setIcon(icon);
        btn.setSize(100, 100);
        btn.setLocation(50, 50);
        mainFrame.add(btn);
        mainFrame.setVisible(true);
    }
}

Исключения:

sun.awt.image.PNGImageDecoder$PNGException: Broken file
    at sun.awt.image.PNGImageDecoder.pngassert(PNGImageDecoder.java:94)
    at sun.awt.image.PNGImageDecoder.handleChunk(PNGImageDecoder.java:107)
    at sun.awt.image.PNGImageDecoder.getData(PNGImageDecoder.java:726)
    at sun.awt.image.PNGImageDecoder.produceImage(PNGImageDecoder.java:252)
    at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:269)
    at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:205)
    at sun.awt.image.ImageFetcher.run(ImageFetcher.java:169)
sun.awt.image.PNGImageDecoder$PNGException: Broken file
    at sun.awt.image.PNGImageDecoder.pngassert(PNGImageDecoder.java:94)
    at sun.awt.image.PNGImageDecoder.handleChunk(PNGImageDecoder.java:107)
    at sun.awt.image.PNGImageDecoder.getData(PNGImageDecoder.java:726)
    at sun.awt.image.PNGImageDecoder.produceImage(PNGImageDecoder.java:252)
    at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:269)
    at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:205)
    at sun.awt.image.ImageFetcher.run(ImageFetcher.java:169)

1 Ответ

0 голосов
/ 10 мая 2018

Код в порядке, проблема с файлом изображения

...