java - 将 .gif 图像作为图标添加到输出窗口
问题描述
我想在我正在开发的 NetBeans 平台应用程序的输出窗口中添加一个加载动画 gif 图标。我设法添加了一个 png 图标文件。但在这种情况下,添加的 gif 图标没有动画。它保持不变。
private class Loading extends AbstractAction {
public Loading() {
//putValue(SMALL_ICON, ImageUtilities.loadImageIcon("org/netbeans/modules/plsql/execution/loading.gif", true));
putValue(SMALL_ICON, ImageUtilities.loadImage("org/netbeans/modules/plsql/execution/loading.gif",true));
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Action performed");
}
}
这就是我用作输出窗口的地方。
final InputOutput io = IOProvider.getDefault().getIO("Deploy Dependents", new Action[]{new Loading()});
解决方案
您需要将按钮添加为ImageObserver
您Image
加载的按钮ImageUtilities.loadImage()
。它将为您处理动画。
对按钮本身的访问可能会被IOProvider
类隐藏,但如果您设法处理它,只需调用image.setImageObserver(button)
,您就会看到动画正在运行。
推荐阅读
- sql - Postgresql:如何获取一个json,其中一列是键,另一列是值?
- node.js - 如何改进返回 5000 条记录的查询?
- reactjs - 将 ReactNode 数组传递给功能组件时出现类型检查错误
- javascript - Laravel 编辑页面在服务器上时不会调用 CSS 和 JS
- python - 根据列表值过滤列结果
- xpath - Xpath - 查找特定元素,打印该节点的所有元素
- excel - 从运行宏中排除工作表
- unit-testing - 如何使用 mocha-junit-reporter 打印失败的测试
- flutter - 将 admob 添加到同一屏幕时,Flutter webview 不起作用
- c - 从套接字 C 读取 HTTP 标头