【问题标题】:How do I use a gif file in a Java program?如何在 Java 程序中使用 gif 文件?
【发布时间】: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

enter image description here

【问题讨论】:

  • 这能回答你的问题吗? Can I add an animated gif file to JButton?
  • 您是否尝试过为您的图标使用绝对文件路径?
  • 天哪!谢谢gthanop。添加直接文件路径有效。我不敢相信那是多么容易。再次感谢!
  • 更好的长期解决方案是将图像和其他资源嵌入到 Jar 文件中,然后通过 Class#getResource 加载它们

标签: java swing jframe gif


【解决方案1】:

最简单的方法是。 Label 或 Jbutton 以及其他支持 HTML 3.5 的东西 JLabel a = new JLabel("");

将其添加到您的容器中。 还没弄清楚如何输入代码抱歉

【讨论】:

  • 感谢您的提示。我使用了他给出的 gthanop 方法,它奏效了。但是,我会尝试每个人的建议(包括你的),这样我就可以继续学习。再次感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2021-10-25
  • 1970-01-01
  • 2010-09-27
  • 1970-01-01
  • 2015-09-08
  • 2012-12-27
  • 2011-09-24
  • 2017-04-09
相关资源
最近更新 更多