JTable的模型
2018-11-04 23:15:21开始写
模型类
import javax.swing.table.DefaultTableModel;//导入包
public class LocalTableModel extends DefaultTableModel {//继承
Class[] types = new Class[] {java.lang.String.class, java.lang.String.class};// 表头的类类型
boolean[] canEdit = new boolean[] {false, false};// 表头不可编辑
public LocalTableModel() {//无参构造函数 表格模型中的表头
super(new Object[][] {}, new String[] {"用户ID", "用户头像"});//第一个参数是表数据,第二个参数是一维数组,元素的表头
}
public Class getColumnClass(int columnIndex) {// 获得表头的类类型
return types[columnIndex];//返回java.lang.String.class
}
public boolean isCellEditable(int rowIndex, int columnIndex) {// 表头是否可编辑
return canEdit[columnIndex];//返回false
}
}
模型使用
JTable table;// 表格模型
ProductTableModel productModel = new ProductTableModel();// 商品信息表模板
table = new JTable(productModel);//实例化JTable对象,参数是表格模板
scrollPane.setViewportView(table);//添加到滚动面板中显示JTable
productModel.setRowCount(0);//清除表格模型中的原有行
JDBCUtil util = new JDBCUtil();//创建Java数据库连接工具包类对象
List<Product> list = util.getProductInfo();//用来存储信息的集合
for (int i = 0; i < list.size(); i++) {//遍历一遍list(挨个访问一次)
Product product = (Product) list.get(i);//通过列表的get方法获得第i个JavaBean对象 //model是JTable的模型,调用addRow方法,参数是一维数组,数组元素是JavaBean中的变量也是数据表中的字段值,
//且是通过JavaBean的get方法获得,最后添加到JTable中
productModel.addRow(new Object[] { product.getId(), product.getListID(), product.getProductID(), product.getSocket() });
}
选择事件
int row = table.getSelectedRow();//选择某一行
userID = (String) table.getValueAt(row, 0);//获得某一行的第一个值
谢谢、Thank you、Salamat Do(撒拉玛特朵)、あリがCám o*n(嘉蒙)とゥ(阿里嘎都)、감사합니다 (勘三哈咪瘩)、terima Kasih(得力马卡系)、kob-khun(寇布库恩)、dhanyavaad(达尼阿瓦德)、toda(透达)、te?ekkür ederim(特谢库尔埃戴里姆)、Dzie,kuje(以库以而)、Spasibo(思巴喜柏)、Danke(但可)、shokran(休克朗)、Obrigada(欧布哩嘎搭)、dank u(当Q)、Merci(梅呵西)、Gracias(格拉喜亚思)、Grazie(格啦姬)、Благодарности、Tak、Kiitos、Díky、Hvala、Mul?umesc、Takk、Ευχαριστ
JTable的模型的更多相关文章
- JavaBean和List<JavaBean>
2018-11-04 23:04:03开始写 返回泛型为User是列表 public List<User> getUserInfo() { conn = getConn();//获取数据库 ...
- 【Java】在JTable中设置鼠标监听器,点击操作对应数据
最终效果 鼠标点击JTable中任一数据,修改相应的信息. 确定点击的行和列 package com.dao; import java.awt.event.MouseAdapter; import j ...
- Java学习笔记——可视化Swing中JTable控件绑定SQL数据源的两种方法
在 MyEclipse 的可视化 Swing 中,有 JTable 控件. JTable 用来显示和编辑常规二维单元表. 那么,如何将 数据库SQL中的数据绑定至JTable中呢? 在这里,提供两种方 ...
- JAVA GUI学习 - JTable表格组件学习_C ***
/** * JTable高级应用 * @author Wfei * */ public class JTableKnow_C extends JFrame { JTable jTable; MyJMe ...
- JAVA GUI学习 - JTable表格组件学习_A ***
public class JTableKnow_A extends JFrame { public JTableKnow_A() { this.setBounds(300, 100, 400, 300 ...
- JTable demo
简单讲就是在没有使用layout manager的时候用setSize,在使用了layout manager 的时候用setPreferredSize 并且setPreferredSize通常和set ...
- Swing之JTable的详细介绍(转)
表格(Table)的使用与介绍8-1:使用JTable组件:类层次结构图:java.lang.Object--java.awt.Component--java.awt.Container--javax ...
- 【转】java JTable排序和过滤
JTable排序 在Java SE 6中除了java.awt被更新外,javax.swing同时也有了很大的改进.在C/S程序中我们会经常使 用到"表".如我们可以在查询数据库后将 ...
- JTable,TableModel,DefaultTableModel与AbstractTableModel的小结
1 表格JTable并不存储自己的数据,而是从表格模型那里获取它的数据 2 TableModel本身是一个interface,在这个interface里面定义了若干的方法,包括了存取表格字段(cell ...
随机推荐
- Eclipse实用小插件
MyBatipse插件 描述 用于mybatis的Dao层或者mapper层的方法直接跳到对应的xml文件对应的方法 安装 进入IDE(eclipse)的Help——>Install New S ...
- Python开发【笔记】:抓包(实时分隔)
抓包 进行linux系统抓包,并且定时分隔防止文件太大 #!/usr/bin/env python # -*- coding:utf-8 -*- import os import sys import ...
- JavaScript学习(二)
比如isNaN("100")会返回true 注意:parseInt()的参数必须以数字开头
- C#编程基础
1..NET与C# A..NET 是 Microsoft XML Web services 平台.XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用 ...
- 前端框架之Vue(3)-计算属性
计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div id="example"> {{ ...
- [路径规划] VFF和VFH
VFF虚拟力场法 #ifndef VFF_HEADER #define VFF_HEADER #include <vector> #include "utils\point.h& ...
- [django]模板中自定义变量&django模板中的变量
django自定义模板变量 context_processors.py def mysetings(request): return { 'NAME': 'maotai' } settings.py ...
- 50A
#include <iostream> using namespace std; int main() { int m, n; cin>>m>>n; cout< ...
- 算法bug修复
问题一: 160length:4length:4length:4length:4290length:2length:2160length:5length:5length:5length:5length ...
- 2019.03.30 图解HTTP
文章来源<图解HTTP> 第一章 了解Web及网络基础 你有想过当你在浏览器(web browser)的地址栏上输入URL时,Web页面是如何实现的吗? 嗯,好像也没想过 web使用一种名 ...