Я динамически обновляю значок JFrame
, но каждые несколько секунд в панели задач отображается значок по умолчанию (чашка кофе), есть ли способ его отключить?
Сначала я установилпользовательские значки по умолчанию:
frame.setIconImage
И затем обновляйте значок каждые 100 мс.Протестировано в Win 7/8/10 (oracle jdk 8 и 10) - такое же поведение.
Это для моего аудиопроигрывателя для визуализации звуковых волн.
![enter image description here](https://i.stack.imgur.com/rgI2z.png)
Есть ли способ это исправить?
Пример кода:
package test;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.Random;
import javax.swing.JFrame;
public class TestFrameIcon {
static BufferedImage img = new BufferedImage(64, 64, BufferedImage.TYPE_4BYTE_ABGR);
static Random r = new Random();
private static BufferedImage getIcon() {
Graphics g = img.getGraphics();
g.setColor(new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255)));
g.fillRect(0, 0, img.getWidth(), img.getHeight());
g.dispose();
return img;
}
public static void main(String[] args) {
JFrame f = new JFrame();
f.setIconImage(getIcon());
f.setSize(100, 100);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
new Thread(() -> {
while (true) {
f.setIconImage(getIcon());
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
}
}).start();;
f.setVisible(true);
}
}
Каждые несколько секунд на панели задач отображается значок по умолчанию:
![enter image description here](https://i.stack.imgur.com/LEUSO.png)