【发布时间】:2021-06-30 12:49:48
【问题描述】:
我正在尝试将 .gif 图像添加到 JButton,但在运行代码时似乎无法加载图像。我已经附上了截图。包括创建的框架。我真的很感激可以提供的任何帮助。 Stack 告诉我我还不能输入图像,所以它为它创建了一个链接。我还将在此处附上实际代码:
package java21days;
import javax.swing.*;
import java.awt.*;
public class ButtonsIcons extends JFrame {
JButton load, save, subscribe, unsubscribe;
public ButtonsIcons() {
super("Icon Frame");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
//Icons
ImageIcon loadIcon = new ImageIcon("load.gif");
ImageIcon saveIcon = new ImageIcon("save.gif");
ImageIcon subscribeIcon = new ImageIcon("subscribe.gif");
ImageIcon unsubscribeIcon = new ImageIcon("unsubscribe.gif");
//Buttons
load = new JButton("Load", loadIcon);
save = new JButton("Save", saveIcon);
subscribe = new JButton("Subscribe", subscribeIcon);
unsubscribe = new JButton("Unsubscribe", unsubscribeIcon);
//Buttons To Panel
panel.add(load);
panel.add(save);
panel.add(subscribe);
panel.add(unsubscribe);
//Panel To A Frame
add(panel);
pack();
setVisible(true);
} //end ButtonsIcon Constructor
public static void main(String[] arguments) {
ButtonsIcons ike = new ButtonsIcons();
}
} //end ButtonsIcon Class
【问题讨论】:
-
这能回答你的问题吗? Can I add an animated gif file to JButton?
-
您是否尝试过为您的图标使用绝对文件路径?
-
天哪!谢谢gthanop。添加直接文件路径有效。我不敢相信那是多么容易。再次感谢!
-
更好的长期解决方案是将图像和其他资源嵌入到 Jar 文件中,然后通过
Class#getResource加载它们