资源简介
这里是我最近学习swing编程中用到的一些demo JTable CURD 事件绑定 进度条 线程处理等等demo,总之作为新手的你,看这个demo你可以学到很多。这里还采用了2-3中布局方式实现布局,由于项目其他保密性,这里只是一个demo分支,有些功能可能并不能导入使用,需要自己整理一下,巨大多数的类可以直接运行看效果的。
代码片段和文件信息
package tom.change.demo.Jtable单元格合并;
import java.awt.Point;
import java.util.Arrays;
import java.util.List;
import java.util.Vector;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.AbstractTableModel;
public class DefaultGridBagTableModel implements GridBagModel TableModelListener{
protected AbstractTableModel model;
protected List> gridInfo;
DefaultGridBagTableModel(AbstractTableModel model){
gridInfo = new Vector>();
setTableModel(model);
}
public void setTableModel(AbstractTableModel model){
if( model != null && model != this.model ){
if( this.model != null )
this.model.removeTableModelListener(this);
//防止多次添加监听器
model.removeTableModelListener(this);
model.addTableModelListener(this);
this.model = model;
clearMergence();
}
}
public void clearMergence(){
if( gridInfo == null )
gridInfo = new Vector>();
else
gridInfo.clear();
if( model == null )
return;
//初始化,每个格子占的格子数为(11);
for(int row=model.getRowCount(); --row>=0;){
List infos = new Vector();
gridInfo.add(infos);
for(int col=model.getColumnCount(); --col>=0;){
infos.add(getDefaultPoint());
}
}
}
public Point getDefaultPoint(){
return new Point(11);
}
@Override
public boolean canMergeCells(int[] rows int[] columns) {
if( rows == null || columns == null ) return false;
Arrays.sort(rows);
for(int index=0; index if( rows[index+1] - rows[index] > 1 )
return false;
}
Arrays.sort(columns);
for(int index=0; index if( columns[index+1] - columns[index] > 1 )
return false;
}
return true;
}
@Override
public int getCellState(int row int column) {
Point grid = getGrid(row column);
if( grid == null ) return DEFAULT;
if( grid.x>1 || grid.y>1 )
return MERGE;
if( grid.x<=0 || grid.y<=0 )
return COVERED;
return DEFAULT;
}
@Override
public int getColumnGrid(int row int column) {
if( gridInfo != null && row >=0 && row < gridInfo.size() ){
List gridRow = gridInfo.get(row);
if( gridRow != null && column >=0 && column < gridRow.size() )
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7305 2017-01-16 13:56 demo\Jtable单元格合并\DefaultGridBagTableModel.java
文件 2082 2017-01-16 13:55 demo\Jtable单元格合并\GridBagModel.java
文件 6427 2017-01-16 13:54 demo\Jtable单元格合并\GridBagTable.java
文件 17760 2017-01-16 13:57 demo\Jtable单元格合并\GridBagTableUI.java
文件 1217 2017-01-16 13:58 demo\Jtable单元格合并\Test.java
文件 1836 2017-01-19 11:13 demo\JTable学习\SimpleJTable.java
文件 4051 2017-01-18 15:40 demo\JTable学习\SimpleTableDemo.java
文件 6144 2017-01-19 15:52 demo\JTable学习\TableRenderDemo.java
文件 9700 2017-01-18 16:08 demo\JTable学习\TableSelectionDemo.java
文件 2942 2017-01-19 16:38 demo\JTable学习\自己JTable整合\TableModel\MyTableModel.java
文件 3693 2017-01-19 16:36 demo\JTable学习\自己JTable整合\Test.java
文件 963 2017-01-16 14:45 demo\JTable按钮点击事件\ButtonTable.java
文件 1483 2017-01-16 14:43 demo\JTable按钮点击事件\MyRenderz.java
文件 1074 2017-01-16 14:36 demo\JTable按钮点击事件2\Main.java
文件 518 2017-01-16 14:24 demo\JTable按钮点击事件2\MyButton.java
文件 1464 2017-01-16 14:40 demo\JTable按钮点击事件2\MyButtonEditor.java
文件 565 2017-01-16 14:22 demo\JTable按钮点击事件2\MyButtonRender.java
文件 176 2017-01-16 14:24 demo\JTable按钮点击事件2\MyEvent.java
文件 3844 2017-01-19 13:54 demo\JTable更新\Test.java
文件 3526 2017-01-16 13:50 demo\Jtable添加数据点击事件\JTableTest.java
文件 1845 2017-01-16 13:41 demo\Jtable添加数据点击事件\UserMouseAdapter.java
文件 2359 2017-01-18 13:34 demo\全选反选\CheckHeaderCellRenderer.java
文件 647 2017-01-18 13:21 demo\全选反选\CheckTableModle.java
文件 2772 2017-01-18 13:24 demo\全选反选\Testfr
文件 925 2017-01-16 17:22 demo\线程\MutliThread.java
文件 311 2017-01-16 17:23 demo\线程\MutliThreadDemo.java
文件 2919 2017-01-16 16:51 demo\进度条\ProgressBar.java
目录 0 2017-01-19 13:57 demo\JTable学习\自己JTable整合\TableModel
目录 0 2017-01-19 14:06 demo\JTable学习\自己JTable整合
目录 0 2017-01-16 13:58 demo\Jtable单元格合并
............此处省略12个文件信息
- 上一篇:java自定义Jfr
ame风格窗体 - 下一篇:tomcatPluginV331
相关资源
-
java自定义Jfr
ame风格窗体 - mysql5.7jar包及用法.zip
- Java Spring技术栈构建团购网站前后台
- JAVA实验西工大
- java web小项目在线书店源码
- 使用JNI进行JAVA和C++之间的互调
- java实现的车牌识别系统
- Java实现KMeans点集文件
- java 计算数学表达式中缀表达式
- JavaToExe,jar转exe
- SVD++ JAVA實作
- JAVA计算器268139
- java模拟的5个哲学家就餐问题 使用管
- JAVA基于命令行的学生成绩管理系统
- JAVA实现多对多聊天
- java基础50道经典练习题及答案.doc
- Java中,当表单含有文件上传时,提交
- javaweb银行系统
- 银联Ecb加密算法
- JAVA对象所占内存大小计算
- 使用java Apache poi 根据word模板生成wo
- 基于java socket的P2P聊天程序
- Head First Java(中文第2版)源码(书内
- 简单的java scoket p2p聊天程序
- 蚁群算法解决01背包问题-java实现
- 2018华为软件精英挑战赛复赛代码 by
- java微信版飞机大战
- 基于JAVA的windows经典纸牌游戏,适用于
- MQ工具类java
- java实验实现圆类Circle,Cylinder
评论
共有 条评论