我有一个Java Swing应用程序,可以一次打开多个框架。每个框架都有其自己的图标图像。由OS如何确定在任务栏中应使用哪个图标。有没有办法将图标切换到另一帧的图标?
给出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
...
让我知道是否有帮助。