`
llyer110
  • 浏览: 20350 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

jtable中加载动态图片

 
阅读更多

   在JTable中添加静态图片已经是处处可见的示例了,有些时候,在JTable获取数据的时候,耗时比较长,我们会采用线程的方式加载数据,在这个过程中为了提升用户体验,会在JTable中添加等待的动态图片直到数据加载完毕。如果使用添加静态图片的方式,会发现效果是动态图片一直停在那里不动,就好像一个静态图片,失去了想要的效果。

   要实现动态图片的添加,就必须为ImageIcon添加一个实现了ImageObserver接口的观察者,由他来处理动态图片的动态变化,然后通知JTable调用updateUI进行更新

 

public class MyImageObserver implements ImageObserver {

	JTable table;
	int row;
	int col;
	
	public MyImageObserver(JTable table,int row, int col){
		this.table = table;
		this.row = row;
		this.col = col;
	}

	public boolean imageUpdate(Image img, int infoflags, int x, int y,
			int width, int height) {
		// TODO Auto-generated method stub
		if ((infoflags & (FRAMEBITS | ALLBITS)) != 0) {
	        Rectangle rect = table.getCellRect(row, col, false);
	        table.repaint(rect);
	      }
		return (infoflags & (ALLBITS | ABORT)) == 0;

	}

}

  

    ImageIcon只需调用setImageObserver方法即可:

ImageIcon icon = new ImageIcon(com.test.ui.images.GetIcons.class.getResource("loading2.gif"));
icon.setImageObserver(new MyImageObserver(getTable(),i,0));

 

 

分享到:
评论

相关推荐

    如何在JTable的单元格里添加图片,Button组件,Label组件等等组件

    添加组件后,在组件上添加图片 1.设置Table的Model这个需要重写AbstractTableModel类, 2.设置Table的DefaultRenderer,这个根据个人需要选择将要添加到Table的cell里的 组件(JButton,JLable...)继承相应的组件...

    Swing之JTable详解

    如果直接将`JTable`添加到`JFrame`中而没有使用`JScrollPane`,`ColumnHeader`将不会显示。为了解决这一问题,可以显式地添加`ColumnHeader`到`JFrame`中: ```java // 创建JTable实例 JTable table = new JTable...

    jtable-弄了我一整天

    它与DefaultTableModel一起工作,允许用户动态地添加、删除和修改表格中的数据。开发者可以通过自定义TableModel实现特定的数据绑定,或者通过ColumnModel来定制列的显示和行为。JTable支持多种事件监听器,如...

    图片+文字的Jlist

    2. **添加图片和文字**: 在`getListCellRendererComponent()`方法内,我们创建一个`JLabel`实例,这个标签将作为每个列表项的容器。可以设置`label.setIcon()`来显示图片,`label.setText()`来设置文本。 3. **...

    GRID中显示通用字段图片示例

    在这个特定的例子中,“GRID中显示通用字段图片示例”是一个关于如何在数据网格(GRID)中展示存储在通用字段中的BMP图像的实践教程。这种功能常见于数据库应用程序或数据可视化工具中,它可以增强用户体验,使得...

    JFarme.zip_jfarem_jfarme添加表格_jfarme画表格_jfarme表格

    在本文中,我们将深入探讨如何使用JFrame,一个Java Swing组件,来创建具有背景图片以及在其中绘制和添加表格的功能。JFrame是Java图形用户界面(GUI)开发的基础,它提供了一个窗口,允许用户与应用程序交互。让...

    java图片管理器

    例如,JFrame作为主窗口,JPanel用作容器添加各种组件,如JButton(按钮)用于执行操作,JLabel用于显示图片预览,JList或JTable用于展示文件列表,让用户选择图片。 对于图片的预览,开发人员需要利用Java的图像...

    xpTable,c# xptable NET中最强,最全功能的表格控件 ,可以定制一个ListView,能够在列中插入图像、下拉框、可上下调整的数字、进度条

    首先加载控件到Toolbox上(添加一个Item,引用XPTable.dll) 然后,拖动Table, ColumnModel 和 TableModel到Form上,设置Table的ColumnModel 和 TableModel属性,添加Column到ColumnModel,添加Row 和 Cell到...

    JAVA创建带图片的List.pdf

    此外,代码中还提到了如何添加图像到列表项中,这是通过ImageIcon类来实现的,它负责加载和显示图像。在实际的Java应用程序中,图像文件需要被正确地加载,通常需要通过相对路径或资源路径来指定图像的位置。 整个...

    java中 Swing与IO的综合应用

    在Swing应用中,IO流可以用于持久化地存储和加载应用程序的数据。例如,我们可以使用FileInputStream和FileOutputStream读写文件,BufferedReader和BufferedWriter提高读写效率,ObjectInputStream和...

    java语言程序实现购物图像界面

    `JTable`可以动态地显示二维数据,并支持排序、选择等功能。我们需要创建一个`DefaultTableModel`来存储商品数据,然后将其设置到`JTable`中。 3. **JButton的事件处理**:为了实现浏览和查询功能,我们需要在`...

    java swing写的资源管理器

    用户可以在JTable中进行排序、筛选和选择文件,同时可以通过添加事件监听器处理用户的选择和操作。 为了实现“大图标”展示,开发者可能会使用JLabel或者Icon组件来展示文件的缩略图。这需要读取文件内容,将图片...

    基于Java swing的风景日历课程设计

    图片的选择和设置可能通过JComboBox实现,用户从下拉菜单中选择一个日期,系统将关联的风景图片加载到显示区域。 此外,项目中可能还涉及了文件I/O操作,因为要读取和保存用户的图片选择。这可能用到java.io和java....

    java GUI 参考资料

    描述中提到的“给label添加背景图片”,可以通过设置label的Icon属性实现,使用ImageIcon类加载图片,并将其设置为标签的图标。 5. **JTable**:用于显示二维数据的组件,常用于展示表格数据。JTable可以绑定到模型...

    Swing实现的功能

    在Swing中,可以通过`ImageIcon`类加载并显示这些图片资源。 总结来说,Swing结合Ibatis能够创建功能强大的企业级桌面应用,它提供了丰富的UI组件和灵活的数据库操作能力,而图片资源则可以增强应用的视觉效果和...

    Java 选修课程系统源代码,Eclipse+Mysql开发

     4、在 “课程添加”模块中 添加了 “开课日期” 数据表并且加入日期选择模块  5、加入系统托盘图标显示  6、新增“日志管理”模块中添加 “保存日志”功能  8、开启及JTable表格自动排序功能  9、数据库...

    北大青鸟学生管理系统ppt

    在【代码片段】中,展示了权限查询的SQL语句,以及如何在Java中对jTable进行操作,包括删除行、添加新行和修改表格中的值,以及如何设置jTable中特定行和列的值不可编辑。 综上所述,北大青鸟学生管理系统是一个...

    JAVA 鼠标拖放效果示例

    在Java中,我们可以使用`ImageIcon`类来加载和显示这些图片,而在拖放操作中,可能会动态地改变`ImageIcon`来创建拖动效果。 在描述中提到,运行程序后,窗体会全屏显示且没有关闭按钮。这通常通过设置`JFrame`的...

    swing sample1

    在实际开发中,Swing的事件监听机制是关键,通过实现ActionListener、MouseListener等接口,可以为组件添加响应用户操作的功能。此外,Swing还支持布局管理器,如FlowLayout、BorderLayout和GridBagLayout等,以帮助...

Global site tag (gtag.js) - Google Analytics