为什么 JTable 列中没有显示动画 .gif 图标?

2023-12-23

Here is the processing.gif Here is the processing.gif

Here is initial.png Here is initial.png

Here is the output Here is the output

这是代码。 processing.gif 正在其他位置工作,例如在某个选项卡中JTabbedPane。这里在a栏里JTable,它没有显示。有什么解释和解决办法吗? processing.gif 是一个移动图标,表示正在加载某些内容。

import javax.swing.*;
import javax.swing.table.*;

public class TableIcon extends JFrame
{
    public TableIcon()
    {
        ImageIcon initial = new ImageIcon(getClass().getResource("initial.png"));
        ImageIcon processing = new ImageIcon(getClass().getResource("processing.gif"));


        String[] columnNames = {"Picture", "Description"};
        Object[][] data =
        {
            {initial, "initial"},
            {processing, "processing"}
        };

        DefaultTableModel model = new DefaultTableModel(data, columnNames);
        JTable table = new JTable( model )
        {
            public Class getColumnClass(int column)
            {
                return getValueAt(0, column).getClass();
            }
        };
        table.setPreferredScrollableViewportSize(table.getPreferredSize());

        JScrollPane scrollPane = new JScrollPane( table );
        getContentPane().add( scrollPane );
    }

    public static void main(String[] args)
    {
        TableIcon frame = new TableIcon();
        frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
        frame.pack();
        frame.setVisible(true);
    }

}

默认情况下,动画 gif 在 JTable 中效果不佳。但有一个简单的方法可以解决这个问题,使用AnimatedIcon可以找到的类here http://www.qedeq.org/0_04_07/src/reports/qedeq_gui_se/source/furbelow/AnimatedIcon.java.html

基本上,它重新实现了Icon界面中,注册你渲染图标的位置,当需要绘制新的 gif 帧时,它会自动重新绘制正确的区域。

提供了另一种选择here http://www.java2s.com/Code/Java/Swing-Components/AnimatedIconTableExample.htm为每个需要渲染 gif 动画的单元格注册一个特定的 ImageObserver,但我发现它有点乏味。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 JTable 列中没有显示动画 .gif 图标? 的相关文章

  • 在 JList 中写一些东西

    嘿 我还有另一个问题 我创建JList在我的主窗口中 现在我想向其中添加一些内容 我这样做 private void jButton2ActionPerformed java awt event ActionEvent evt Dodaj
  • TableModel setCellEditable 并自动将值设置回 false

    我目前正在尝试在 JTable 中实现 JPopupMenu 它允许解锁单元格以进行编辑 Override public void actionPerformed ActionEvent e if e getActionCommand Un
  • 从“react-native-vector-icons/Ionicons”导入图标

    我可以在同一屏幕上导入react native vector icons font awesome 和react native vector icons Ionicons 吗 基本上我想在同一屏幕上为不同的图标使用 font awesome
  • Mac OSX 上使用 Java 7 的透明 JFrame/JWindow

    我们有一个屏幕共享小程序 它打开 Swing JFrame 并使用 Robot 类捕获空框架后面的屏幕 用户可以单击框架并与小程序后面的任何内容进行交互 这在 Windows 上运行良好 并且用于 Apple 的 Java 版本 但对于 M
  • TextView 中缩进项目符号列表

    我有一个 TextView 我用 strings xml 中的字符串资源中的文本填充它 字符串资源包含 元素 用于在 TextView 内创建项目符号列表 我的问题是我想控制项目符号列表中跨越多行的行的缩进 默认情况下 文本不会缩进超过项目
  • 如何保存 JPanel 上图形的当前状态[重复]

    这个问题在这里已经有答案了 我有一个程序 允许用户使用 Graphics 将矩形和圆形添加到 JPanel 我想要做的是将当前 JPanel 的当前状态 即所有形状及其位置 保存到文件中 并能够加载该文件并恢复该状态 我有一个 Shapes
  • JLabel.setText() 中的换行符

    使用 JLabel setText 时如何插入换行符 我尝试使用 Html 但似乎可以使其适用于 setText 仅适用于 jLabel 的初始声明 最初声明 jlabel 时的方法是 label new JLabel Hello Worl
  • JTable AutoCreateRowSorter 将数字排序为字符串

    我有一个 JTable JTable table new JTable String colNames c1 DefaultTableModel model new DefaultTableModel Integer x new Integ
  • 当相应的 JTextfield 为空时,如何填充 JTable 中的所有项目

    我正在 Java 项目中设计一个高级搜索选项sqlite在 NetBeans 中 有5种不同JTextfields和 5 列 我想填充JTable具有相应的匹配标准 如果一个JTextfield为空 那么它应该选择该列的所有项目 我使用的查
  • 在 kivy 中嵌套小部件

    我正在尝试在 kivy 中制作一个界面 我认为即使在完成教程之后 我仍然不了解自定义小部件以及如何对它们进行层次结构的一些基本知识 我认为我有更多的盒模型 html 思维方式 因此小部件嵌套在本机 GUI 中的方式对我来说仍然有点陌生 一些
  • 跳过一行GridBagLayout

    我在 JFrame 上使用 GridBagLayout 我希望能够跳过一两行 但将这些行显示为空白 然后在这些行后面有一个按钮 我在文档中找不到任何方法来执行我所描述的操作 有谁知道我可以执行此操作的任何方法吗 发现它比添加空组件干净得多
  • 如何获取linux/windows下运行应用程序的图标/图标路径?

    我想要一个打开的窗口及其图标的列表 并用 python 处理它 我以为我很接近 xprop 和 wmctrl 但我不能将它用于我的目的 我可以获取打开的窗口列表wmctrl l 但不知道如何获取任何列出的控件的图标 图标路径 请帮忙 您可以
  • 导航视图中的彩色图标

    再会 有没有办法在导航抽屉上显示彩色图标 不将它们着色或将它们设置为黑色 并且当在导航抽屉中单击时 它们每个都会有相应的颜色 突出显示 背景 就像 Google 商店应用程序抽屉一样 是的 您可以使用菜单组项添加彩色图标
  • GridBagLayout:如何填充所有空白空间

    我有一个 JFrame 包含一些使用 gridBagLayout 3 行 一列 的 JPanel 这是我的代码 Container main container getContentPane GridBagLayout layout new
  • 使用 JTextPane 制作文本下划线字体?

    我有一堂课的名字是fontlist我想使用以下划线字体文本窗格但我发现很难得到这个 粗体或斜体都可以正常工作 但是当我添加下划线代码时 它会给我一些错误 我的代码是 import java awt import java awt font
  • 如何在 Java 中使 JFrame 可滚动?

    我有这段代码 我试图在其中安装可滚动面板 JPanel 但我不明白 这是我的代码 public class Sniffer GUI extends JFrame Canvas c new Canvas ConnectorProperties
  • Windows 7 触摸屏 + Java Swing = 延迟鼠标事件

    我正在用 Java 开发一个 Swing 应用程序 该程序将在专用的 Windows 7 触摸屏机器上运行 据我所知 该程序应该是在正常操作下唯一在其上运行的程序 我注意到 Windows 7 的触摸屏界面有一个可以阻止 mousedown
  • 当你在Java中使用Frame或JFrame时? [复制]

    这个问题在这里已经有答案了 可能的重复 swing 和 awt 有什么区别 https stackoverflow com questions 408820 what is the difference between swing and
  • Java KeyListener:按下两个键时如何执行操作?

    请看下面的代码 import java awt event import javax swing import java awt public class KeyCheck extends JFrame private JButton ch
  • 使用可变参数绘制星形

    我的任务是编写程序 允许用户绘制星星 星星的大小和手臂数量可能不同 当我处理基本星时 我使用 GeneralPath 和点表进行处理 int xPoints 55 67 109 73 83 55 27 37 1 43 int yPoints

随机推荐

  • Springboot 与 Elasticsearch 5.0 客户端 - Log4j2 错误

    我正在尝试将 Elasticsearch 5 0 传输客户端与 sprintboot 应用程序一起使用 Elasticsearch 5 0 客户端使用 log4j2 当我启动 springboot 服务时 ES 客户端会抛出错误 因为它找不
  • 通过 AWS SDK 对 SQS 的访问被拒绝

    我目前正在开发一个使用 Symfony2 开发的网站 我需要在 Amazon SQS 中发送消息 为了做到这一点 我添加到我的composer json aws aws sdk php 2 4 然后 当我尝试创建队列或列出队列时 出现 40
  • Bitnami GitLab 5.2.0:gitlab_sidekiq 未运行且无法启动

    我们正在使用Bitnami GitLab 5 2 0 http bitnami com stack gitlab README txt 我们偶然发现我们无法推送到新的存储库 例如 email protected cdn cgi l emai
  • 不使用 jQuery 选择元素

    我猜这会被否决 因为它没有包含足够的 jQuery 但它就在这里 What is the most effective way to get the element s returned by the jQuery selector bel
  • 使用 magento api 构建电子商务网站

    我是 magento 的初学者 正在使用 magento 创建一个网站 我注意到 magento 有大量 api 它们公开了我创建电子商务网站所需的所有功能 所以 我想使用magento的api来获取数据 但单独开发UI而不依赖于magen
  • 调整 GridView 项目大小以填充 GridView?

    我有这个问题的反面 如何动态调整 GridView 项目的大小 https stackoverflow com questions 13254107 how do i dynamically size a gridview item 我有一
  • 如何将按钮内的图标和文本居中?

    如何将按钮内的图标和文本居中而不指定对齐项目的尺寸 ico background url https www gravatar com avatar cbfaff96665b7567defe1b34a883db8b s 32 d ident
  • Jacoco Maven 多模块项目覆盖

    似乎有几个问题 这些问题已经很老了 并且 Jacoco 的 Java 8 支持发生了变化 我的项目包含以下结构 pom xml sub module A pom xml sub module B pom xml sub module C p
  • 由于删除运算符会释放内存,为什么需要析构函数?

    来自 C 常见问题解答 http www parashift com c faq lite dtors html faq 11 9 http www parashift com c faq lite dtors html faq 11 9
  • 如何在流数据帧上应用滞后函数?

    我有一个具有三列 time col1 col2 的流数据帧 我必须在第 2 列上应用滞后函数 我尝试过以下查询 val w org apache spark sql expressions Window oderBy time df sel
  • Kubernetes部署内存占用高

    我在 GKE 容器中使用 python Flask 并且 pod 内的内存正在增加 我对 pod 设置了限制 但它被杀死了 我想这是内存泄漏 有人可以在看完这个后提出一些建议 随着磁盘的增加 内存也会增加 并且也会出现一些页面错误 有没有容
  • 自动指针的优点/缺点

    与普通指针相比 使用自动指针 auto ptr 有哪些优点和缺点 我听说它会自动释放内存 但为什么不经常使用呢 主要缺点是std auto ptr是它有所有权转让语义 这使得它无法存储std auto ptr在 STL 容器中 因为当您存储
  • Android 在上传到市场时隐藏应用程序中的日志

    我的应用程序有很多 Log i 添加用于调试的语句 现在如果需要将这样的应用程序上传到市场 是否应该删除这些日志 如果是 是否有比手动删除更简单的方法 如果不删除 如果用户从市场安装应用程序后运行应用程序 是否会出现这些日志 我尝试查看某些
  • 在 MP3 ID3v2 标签中设置歌词

    我想在 Android 应用程序中将歌词写入 mp3 我找到了一个用于读取的 java 库mp3文件并读取 操作 ID3 标签 ID3v1 和 ID3v2 2 到 ID3v2 4 名为mp3agic https github com mpa
  • 颤动曲线条

    我想知道是否有更好的解决方案来制作如下图所示的弯曲条 这是我的颤振代码 import package flutter web material dart class CurvedBar extends StatelessWidget con
  • 如何用我自己的 4x4 矩阵更新 opengl modelview 矩阵?

    我有 4x4 矩阵用于对象的变换 float mat44 16 但我不知道如何使用我的矩阵更新 OpenGL ModelView 矩阵 我应该使用 glTranslatef glRotatef 与矩阵中的相关值还是应该使用 glLoadMa
  • 初学者无法创建第一个 Android 应用程序项目

    我已将 ADT 捆绑包 内部版本 v22 0 1 685705 下载到我的 Macbook Pro OS X 10 8 4 上 并根据 Android 开发人员说明进行安装 6 月 19 日星期三 当我尝试使用所有默认设置创建新的应用程序项
  • 以编程方式创建并显示 UIPickerView

    我试图以编程方式创建 UIPickerView 并将其显示为文本字段的第一个响应者 但是 选择器视图没有显示 textField 连接到界面生成器中的对象 但 pickerView 是以编程方式创建的 class View UIViewCo
  • 单个整数的 Web API 响应类型

    调用仅返回单个整数的 Web API REST 服务的 正确 方法是什么 我对 XML JSON 或其他任何内容没有任何要求 对服务的调用只需要返回一个整数 我是否使用ResponseType属性在这里 我的服务返回类型为HttpRespo
  • 为什么 JTable 列中没有显示动画 .gif 图标?

    Here is the processing gif Here is initial png Here is the output 这是代码 processing gif 正在其他位置工作 例如在某个选项卡中JTabbedPane 这里在a