`
ljl_xyf
  • 浏览: 636787 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Jtable利用SetModel进行数据绑定

    博客分类:
  • java
阅读更多

首页定义了一个公用Model类,代码如下:

 

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package TableModel;

import java.sql.ResultSet;
import java.util.LinkedList;
import javax.swing.table.AbstractTableModel;
import zhinengkaiguanjiankong.comm.LoggerUtil;

/**
 *数据库和JTable数据绑定记录数据存放对象
 * @author http://www.my400800.cn
 */
public class TableModel extends AbstractTableModel {

    private int column = 4;
    private String[] columnName = null;
    private LinkedList<String[]> resultSet = null;  

    public TableModel() {
    }

    /** Creates a new instance of TableModel */
    public TableModel(ResultSet rs, String[] DScolumnName, String[] columnName) throws Exception {
        if (DScolumnName.length != columnName.length) {
            throw new Exception("指定JTable列和指定数据库列数不一致,无法进行数据绑定");
        }
        this.columnName = columnName;
        column = columnName.length;
        resultSet = new LinkedList<String[]>();
        try {
            while (rs.next()) {
                String[] row = new String[column];
                for (int i = 0; i < column; i++) {
                    row[i] = rs.getString(DScolumnName[i]);
                }
                resultSet.add(row);             
            }
        } catch (Exception e) {
            LoggerUtil.WriteErrLog(e);
            throw e;
            // System.out.println("err");
        }
    }

    /**
     * 取得总记录数
     * @return  总记录数
     */
    public int getRowCount() {
        return resultSet.size();
    }

    /**
     * 取得总列数
     * @return  总列数
     */
    public int getColumnCount() {
        return column;
    }

    /**
     * 取得指定行指定列数据
     * @param rowIndex      行
     * @param columnIndex   列
     * @return
     */
    public Object getValueAt(int rowIndex, int columnIndex) {
        String[] row = resultSet.get(rowIndex);
        return row[columnIndex];
    }

    /**
     * 取得指定列名称
     * @param i  指定列
     * @return   指定列名称返回
     */
    public String getColumnName(int i) {
        return columnName[i];
    }
}

 

 

model实现类,在这个列里面设定JTable列明和数据库的取得字段名

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package TableModel;

import java.sql.ResultSet;

/**
 *
 * @author 173.114
 */
public class ZhinengkaiguanjiankongViewTableModel extends TableModel {

    public ZhinengkaiguanjiankongViewTableModel(ResultSet rs) throws Exception {
        /**
         * 记录rs   数据库字段名    JTable列明
         */
        super(rs, new String[]{"id", "i64val", "timeval", "val14", "val22", "adv", "val24", "val13"},
                new String[]{"ID", "名称", "时间", "状态", "段位", "属性", "备注", "开关ID"});     
    }
}

 

数据绑定代码

 tableModel = new ZhinengkaiguanjiankongViewTableModel(数据库取得的ResultSet );
            jtbl_DataList.setModel(tableModel);

通过上面的代码,就把数据通过Model绑定到JTable了

 

 

分享到:
评论

相关推荐

    JTable (动态添加数据)

    在Java编程中,`JTable`是Swing组件的一部分,用于在GUI中展示二维表格数据。这个场景中,我们探讨的是如何使用JavaBean来动态地向`JTable`添加数据,并将这些数据保存到Sql Server数据库,然后在`JTable`中显示。...

    JTable动态刷新数据

    JTable 动态刷新数据 JTable 动态刷新数据是指在 Java Swing 应用程序中,使用 JTable 组件展示数据,并实时更新数据的过程。这种技术在很多实际应用场景中非常有用,如股票交易平台、实时监控系统、电子表格等。 ...

    java Swing Jtable 下拉动态加载数据

    JTable实现下拉动态加载数据,滑动动态加载数据,纯原生态java。

    Java Swing实现JTable检测单元格数据变更事件的方法示例

    如果已经编辑完毕,则记录新数据并与原有数据进行比对,如果不一致则说明单元格数据发生了变更,则激活指定响应函数。 三、测试用例 下面是一个简单的测试用例: ```java public class TableDemo { public static...

    可视化Swing中JTable控件绑定SQL数据源的两种方法深入解析

    本文将深入解析如何将SQL数据库中的数据绑定到JTable,介绍两种主要方法。 首先,了解JTable的基本构造方法。JTable提供了两种常用的构造方法: 1. `JTable(Object[][] rowData, Object[] columnNames)` - 这个构造...

    JTable数据导出到Excel.rar

    用户可以从程序界面方便地导出数据,进行进一步处理或共享。 6. **注意事项** - 导出时需处理可能的空值和异常情况,确保数据的完整性和一致性。 - 考虑性能优化,特别是在处理大量数据时,避免一次性加载所有...

    将JTable数据导出到Excel

    在Java编程环境中,`JTable`是Swing库中用于展示二维表格数据的组件,而将`JTable`中的数据导出到Excel是一种常见的需求,特别是在数据处理和报告生成的场景下。本教程将深入讲解如何实现这个功能,并提供一个名为`...

    Java SE程序 把Jtable中的数据导出到Excel中

    Java SE程序 把Jtable中的数据导出到Excel中Java SE程序 把Jtable中的数据导出到Excel中Java SE程序 把Jtable中的数据导出到Excel中Java SE程序 把Jtable中的数据导出到Excel中Java SE程序 把Jtable中的数据导出到...

    java取出mysql中数据,显示在jtable里面

    根据给定的文件信息,我们可以总结出以下关于如何使用Java从MySQL数据库中获取数据并在JTable中显示的相关知识点: ### 一、导入必要的库 在Java程序中操作MySQL数据库及Swing组件,需要导入以下几个包: 1. `java...

    Java的Jtable、从数据库取数据显示在表格中

    ### Java的JTable:从数据库取数据显示在表格中的关键技术点 #### 一、数据库操作与JDBC连接 在Java中,使用JTable显示数据库中的数据是一个常见的应用场景。首先,我们需要了解如何通过Java Database ...

    实现JTable 数据的添加删除

    通过`DefaultTableModel`,我们可以轻松地对`JTable`进行数据的添加和删除操作。在实际开发中,可以根据需求扩展`TableModel`,实现更复杂的业务逻辑。同时,结合事件监听,可以创建出具有高度交互性的Java Swing...

    JTable使用自定义数据类型示例工程

    在Java Swing中,`JTable`是一个非常重要的组件,用于展示二维数据表格。在这个特定的示例工程中,我们探讨了如何在`JTable`中使用自定义数据类型,特别是将Boolean类型的数据呈现为Checkbox的形式,同时根据...

    Excel内容复制到JTable中

    当我们需要从Excel文件中读取数据并展示在JTable上时,就需要进行一系列的处理步骤。以下是一些关于如何实现这个过程的关键知识点: 1. **Excel文件处理**: - **Apache POI库**:在Java中,我们通常使用Apache ...

    使用JTable显示数据查询

    使用JTable显示数据查询的数据集 包含数据库连接

    JTable数据模型设置与数据库综合

    通过构建自定义的数据模型(`TableModel`),可以实现从数据库中读取数据并显示在`JTable`上,同时支持对数据库进行增删改等操作。 #### 二、JTable简介 `JTable`是Swing提供的表格组件,用于在图形用户界面中展示...

    jxl驱动包,从JTable中到处数据到excel JAVA

    5. **写入数据**:利用`Sheet`对象的`createRow()`和`createCell()`方法创建新行和新单元格,然后使用`Cell`的`setCellValue()`方法设置单元格的值。 6. **保存文件**:完成数据写入后,使用`Workbook.write()`方法...

    支持ResultSet的JTable

    标题"支持ResultSet的JTable"暗示我们将探讨如何将`ResultSet`对象的数据绑定到`JTable`,以便在GUI中实时显示查询结果。通常,这个过程涉及到以下步骤: 1. **数据库连接**:首先,我们需要使用`DriverManager.get...

    学会JTable的使用

    - **数据绑定**:使用`SwingX`库中的`JXTable`可以更方便地进行数据绑定,它可以自动同步表格与模型的数据。 - **排序和过滤**:`JTable`支持列排序,只需单击列头即可。通过`TableRowSorter`可以实现数据过滤。 -...

    不错的jquery插件jtable

    - **模型绑定**:ASP.NET MVC 的模型绑定机制可以方便地将前端提交的数据绑定到 C# 对象,便于服务器端处理。 ### 3. 使用步骤 1. **引入资源**:在 HTML 页面中引入 jQuery 和 jtable 相关的 CSS、JavaScript ...

    java swing 导出Jtable里面的数据到excel

    java swing 导出Jtable里面的数据到excel,不用拷贝代码,直接粘贴代码

Global site tag (gtag.js) - Google Analytics