java - 如何在 JButton 上添加图标图像

标签 java swing

import javax.swing.*;
public class IconFrame extends JFrame{

    JButton Save,delete,Okay;
    IconFrame(){
    super("Icon Frame");    
        setTitle(" GUI");
        setSize(400,450);

        JLabel FirstName=new JLabel("Name");
        JLabel SecoundName=new JLabel("2nd Name");
        JTextField Firstname=new JTextField(10); 
        JTextField Secoundname=new JTextField(10);
        ImageIcon SaveIcon=new ImageIcon("save-icon.gif");
        ImageIcon deleteIcon=new ImageIcon("delete-icon.gif");
        ImageIcon OkayIcon=new ImageIcon("ok-512.gif");

        Save=new JButton("Save",SaveIcon);  
        delete =new JButton("delete",deleteIcon);
        Okay =new JButton("Okay",OkayIcon);

        JPanel pn=new JPanel();
        pn.add(FirstName);
        pn.add(Firstname);
        pn.add(SecoundName);
        pn.add(Secoundname);
        pn.add(Save);
        pn.add(delete);
        pn.add(Okay);
        add(pn);
    pack();

        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);

    }
    public static void main(String[] args) {
        IconFrame obj=new IconFrame();  
    }

}

不明白为什么它没有在我的 JButton 上显示图像 Save delete 和 ok-512 是我位于桌面上的图像。

最佳答案

将图像放入工作区的项目中,并使用 getResource() 方法访问它,该方法返回图像的 url。

例如:如果您的图像位于“src”下名为“resource”的文件夹内,则可以使用以下代码从您的类中访问它:

ImageIcon SaveIcon=new ImageIcon(getClass().getResource(
                "/resources/save-icon.gif"));

这应该获取图像。

关于java - 如何在 JButton 上添加图标图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36333487/

相关文章:

java - 在 varchar 列中存储快速编码数据

java - 如何在组合框 Action 监听器中仅包含用户操作?

java - 使用java的简单控制台应用程序

java - Runnable 不执行应该执行的操作

java - JButtons、ActionListener 和 JOptionPane

java - 在 Java Graphics2D 中,文本如何在矩形上居中对齐?

java - 在 Applet 中嵌入 JFrame

java - 从文件中的二进制内容中分离 ASCII 文本

java - 如何让进度条 Swing 进度?

Java 将字符串转换为 JLabel