我想让我的java程序在Windows的任务栏和Mac的Dock中都有一个图标



我有一个为西班牙语老师制作的程序,我想让dock/任务栏有一个图标。我在这里尝试过,但没有成功。

package com.jaketherey;
import java.awt.Color;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class Inglés_Switcher {
public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
        public void run() {
        JFrame frame = new switcherContent();
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(950, 850);
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
        frame.setTitle("Inglés Switcher by Jacob Batista");
        frame.getContentPane().setBackground(Color.GREEN);
        //Attempt to Add Icon, Remember I want it for both Mac and Windows
        ImageIcon icon = new ImageIcon("/com/jaketherey/ñ.png");
        frame.setIconImage(icon.getImage());
        }
    });
}
}

如果你需要它用于内容的JFrame,那么我会把它给你,但我认为它对问题不重要。。。

帮助?谢谢

对于Windows,从Window#setIconImages开始,在这里演示

对于MacOS来说,这变得有点困难。您需要使用自定义库(仅在Mac上可用)

Apple eAWT提供了Application类,该类允许更改应用程序的停靠图标。

import com.apple.eawt.Application;
...
Application application = Application.getApplication();
Image image = ...
application.setDockIconImage(image);

这里也展示了

如上面链接的示例中所述,在MacOS上解禁的首选方法是使用Mac OS应用程序捆绑器

最新更新