java - 如何在任务栏上制作 Windows 7 加载栏

标签 java swing

我想在任务栏上创建一个 Windows 7 加载栏。是这样的: This is what I want

我已经有一个 jframe 框架,可以在其中加载游戏。 我想让加载栏显示下载游戏缓存的进度。 jframe 和下载在两个单独的类中处理。

当我在网上查看时,我找到了 2 个解决方案。

  1. SWT:您可以在其中创建加载栏,但我认为您不能将其与 jframe 结合使用。

  2. bridj:可以添加到 jframe,但我不知道如何使用现有的 jframe 以及在两个不同类中处理的进度和 jframe。

    <

最佳答案

由于进度任务栏是操作系统独有的,所以没有直接解决您的问题,但 trashgod 实际上在他的帖子 here 中得到了这个答案.
您可以创建一个受进度影响的图标并更新它,这样任务栏就会显示您的要求。
我受到了启发,所以必须指出它以防 OP 没有注意到这一点。干得好!

private static class ProgressIcon implements Icon {

    private static final int H = 16;
    private static final int W = 3 * H;
    private Color color;
    private int w;

    public ProgressIcon(Color color) {
        this.color = color;
    }

    public void update(int i) {
        w = i % W;
    }

    public void paintIcon(Component c, Graphics g, int x, int y) {
        g.setColor(color);
        g.fillRect(x, y, w, H);
    }

    public int getIconWidth() {
        return W;
    }

    public int getIconHeight() {
        return H;
    }
}

关于java - 如何在任务栏上制作 Windows 7 加载栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32526071/

相关文章:

java - dispose() 调用后重新创建 JinternalFrame 对象

java - 尽管我们从另一个线程更新 GUI 组件,但没有遇到任何 GUI 卡住问题

java - 升级依赖项版本后,Android Studio无法找到类

java - LibGDX如何判断当前应用运行在哪个平台?

java - 转换 JScrollPane

java - 如果类 B 的实例是类 A 的成员,那么当类 B 中的按钮被按下时,类 B 如何调用类 A 的方法?

java - JInternalFrame相机图像重绘问题

java - 测试中未找到 gradle、activiti 和类

java - 一个线程不停止其他线程。即使有 volatile 变量

java - 我应该记录重写的 hashCode() 和 toString() 吗?