Java AWT 图形界面编程设置窗口图标 ( IntelliJ IDEA 的图标资源位置 | 代码实现 | exe4j 设置导出 exe 程序对应的图标资源位置 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java AWT 图形界面编程设置窗口图标 ( IntelliJ IDEA 的图标资源位置 | 代码实现 | exe4j 设置导出 exe 程序对应的图标资源位置 )相关的知识,希望对你有一定的参考价值。

文章目录





一、IntelliJ IDEA 的图标资源位置



将图标资源 icon.png 放置在工程根目录 ;



在 AWT 界面程序中 , 使用如下代码加载图片资源 , 并调用 Frame#setIconImage 函数 , 将图片设置成 Frame 窗口的图标 ;

        Frame frame = new Frame("AWT 图形界面编程");
        Image image = Toolkit.getDefaultToolkit().getImage("icon.png");
        frame.setIconImage(image);

完整代码如下 :

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class HelloAWT 
    public static void main(String[] args) 
        Frame frame = new Frame("AWT 图形界面编程");

        Image image = Toolkit.getDefaultToolkit().getImage("icon.png");
        frame.setIconImage(image);

        // 创建非模式对话框
        Dialog dialog = new Dialog(frame, "对话框", false);
        dialog.setLayout(null);
        // 设置对话框位置及大小
        dialog.setBounds(100, 100, 300, 331);

        // 设置 5 个布局, 分别在 4 个角和 中心位置显示

        // 绘制左上角布局
        Panel panel1 = new Panel();
        panel1.setBackground(Color.BLUE);
        panel1.setBounds(0, 31, 100, 100);
        dialog.add(panel1);

        // 绘制右上角布局
        Panel panel2 = new Panel();
        panel2.setBackground(Color.RED);
        panel2.setBounds(200, 31, 100, 100);
        dialog.add(panel2);

        // 绘制左下角布局
        Panel panel3 = new Panel();
        panel3.setBackground(Color.BLACK);
        panel3.setBounds(0, 231, 100, 100);
        dialog.add(panel3);

        // 绘制右下角布局
        Panel panel4 = new Panel();
        panel4.setBackground(Color.GREEN);
        panel4.setBounds(200, 231, 100, 100);
        dialog.add(panel4);

        // 绘制中间布局
        Panel panel5 = new Panel();
        panel5.setBackground(Color.MAGENTA);
        panel5.setBounds(100, 131, 100, 100);
        dialog.add(panel5);


        // 设置打开对话框按钮
        Button button = new Button("打开对话框");
        frame.add(button);

        button.addActionListener(new ActionListener() 
            @Override
            public void actionPerformed(ActionEvent e) 
                dialog.setVisible(true);
            
        );

        frame.pack();
        frame.setVisible(true);
    

执行结果 : 执行该程序后 , 界面窗口图标 , 与 Dialog 对话框图标 , 都显示自己设置的自定义图标 ;





二、exe4j 设置导出 exe 程序对应的图标资源位置



使用 exe4j 工具将 上述 程序导出成 exe 程序 ;

参考 【IntelliJ IDEA】导出可执行 JAR 包 博客 , 将 Java 代码编译成 可执行 jar 包 ;

参考 【IntelliJ IDEA】使用 exe4j 生成 jre + jar 可执行文件并在 Windows 上执行 ( 不安装 jre 执行 java 程序 ) 博客 , 将 jar 包打包成可执行的 exe 文件 ;


将 icon.png 图片 , 拷贝到 生成的 可执行 exe 文件的相同目录 , 该目录对应着 工程的 根目录 ;

拷贝到此处后 , 可执行 jar 文件中 , 调用

        Image image = Toolkit.getDefaultToolkit().getImage("icon.png");
        frame.setIconImage(image);

代码 , 可以获取到该图片文件 , 并将其设置为可执行程序的 窗口图标 ;

以上是关于Java AWT 图形界面编程设置窗口图标 ( IntelliJ IDEA 的图标资源位置 | 代码实现 | exe4j 设置导出 exe 程序对应的图标资源位置 )的主要内容,如果未能解决你的问题,请参考以下文章

Java AWT 图形界面编程AWT 简介 ( AWT 核心类继承体系 )

Java AWT 图形界面编程Container 容器总结

Java AWT 图形界面编程Container 容器总结

Java AWT 图形界面编程Frame 窗口中进行自定义布局 ( AWT 中常用的布局容器 )

错误记录Java AWT 图形界面编程问题 ( 组件按照布局要求设置后无法显示等各种问题 )

Java AWT 图形界面编程Container 容器 ② ( Frame 窗口示例 | Panel 示例 | 窗口中文乱码处理 )