Я написал простой 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)