Swing Java中具有多帧应用程序的任务栏图标

问题描述 投票:3回答:1

我有一个Java Swing应用程序,可以一次打开多个框架。每个框架都有其自己的图标图像。由OS如何确定在任务栏中应使用哪个图标。有没有办法将图标切换到另一帧的图标?

java swing imageicon taskbar
1个回答
0
投票

给出JFrame 1,JFrame 2和JFrame 3,每个都有其各自的图标:setIcons方法:

public void setIcons(List<JFrame> frames, Image icon) {
    List<Image> iconAsList = new ArrayList<Image>();
    iconAsList.add(icon);
    for(JFrame frame: frames) {
        f.setIconImages(iconAsList);
    }
}

其他代码:

...
List<JFrame> frames = new ArrayList<JFrame>();
JFrame frame1 = new JFrame();
JFrame frame2 = new JFrame();
JFrame frame3 = new JFrame();
Image icon1 = new ImageIcon("icon1.png").getImage();
Image icon2 = new ImageIcon("icon2.png").getImage();
Image icon3 = new ImageIcon("icon3.png").getImage();

frames.add(frame1);
frames.add(frame2);
frames.add(frame3);

setIcons(frames, icon1); //Set all frames to use icon 1

//DO OTHER STUFF

setIcons(frames, icon3); //Set all frames to use icon 3
...

让我知道是否有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.