【代码笔记】Java连连看项目的实现(1)——JTable 、TableModel的使用
2016-04-29 00:14
826 查看
javax.swing.table.TableModel和javax.swing.JTable
JTable 、TableModel是Java里面画表格的包。
TableModel:为Table提供显示数据、表格维数、表格中显示数据类 型、列标题等Table需要显示的一些属性
JTable:提供表格本身的属性和操作,比如表格的样式、行高、背景、行选中属性等
JTable相当于网页,模特;TableModel相当于服务器,衣服。
JTable 、TableModel 两者是相互依赖的关系(等于B/S模式)
TableModel 服务器的角色,实实在在的数据
JTable要展示的东西 TableModel 提供给它,刷新一次就请求一次
处理连连看消除逻辑(算法实现):
1)相同图片能够消除
2)在同一行或者同一列无障碍物可消除
3)一个拐点可消除
4)两个拐点可消除
连连看项目思路:
建好窗体;
增加JTable组件
增加TableModel组件
文件目录:
TbaleFrame.java
MyTableModel.java
JTable 、TableModel是Java里面画表格的包。
TableModel:为Table提供显示数据、表格维数、表格中显示数据类 型、列标题等Table需要显示的一些属性
JTable:提供表格本身的属性和操作,比如表格的样式、行高、背景、行选中属性等
JTable相当于网页,模特;TableModel相当于服务器,衣服。
JTable 、TableModel 两者是相互依赖的关系(等于B/S模式)
TableModel 服务器的角色,实实在在的数据
JTable要展示的东西 TableModel 提供给它,刷新一次就请求一次
处理连连看消除逻辑(算法实现):
1)相同图片能够消除
2)在同一行或者同一列无障碍物可消除
3)一个拐点可消除
4)两个拐点可消除
连连看项目思路:
建好窗体;
增加JTable组件
增加TableModel组件
文件目录:
TbaleFrame.java
package com.edp.impl; import java.awt.FlowLayout; import javax.swing.JFrame; import javax.swing.JTable; /** * * @author Administrator * */ @SuppressWarnings("serial") public class TableFrame extends JFrame{ public static void main(String[] args) { new TableFrame().initFrame(); } private void initFrame() { this.setSize(800,600); this.setDefaultCloseOperation(3); this.setLayout(new FlowLayout()); //设置窗体不能改变大小 this.setResizable(false); this.setLocationRelativeTo(null); MyTableModel mtm = new MyTableModel(); JTable table = new JTable(mtm); this.add(table); this.setVisible(true); } }
MyTableModel.java
package com.edp.impl; import javax.swing.event.TableModelListener; import javax.swing.table.TableModel; public class MyTableModel implements TableModel { //获取列类型 public Class<?> getColumnClass(int columnIndex) { return String.class; } //获取总行数 public int getRowCount() { return 0; } //获取总列数 public int getColumnCount() { return 0; } //获取表格列名 public String getColumnName(int columnIndex) { return null; } //设置单元格数据 public void setValueAt(Object aValue, int rowIndex, int columnIndex) { } //获得单元格数据 public Object getValueAt(int rowIndex, int columnIndex) { return 0; } //单元格是否编辑 public boolean isCellEditable(int rowIndex, int columnIndex) { return true; } public void removeTableModelListener(TableModelListener l) {} public void addTableModelListener(TableModelListener l) {} }
相关文章推荐
- spring-core组件详解——类型转换系统
- SpringMVC 使用验证框架 Bean Validation(上)
- java中volatile关键字的含义
- Java 类加载机制详解
- Java提升-模板模式(六)
- SpringMVC+hibernate+mysql环境搭建后测试例中使用的注解总结
- SpringMVC+hibernate+Mysql环境搭建(一)
- Java并发,并行,同步,互斥
- Spring config
- JAVA实现全排列算法(去重复)
- java Thread
- java设计模式-访问者模式
- java nio学历网址
- java.sql.SQLException: Lock wait timeout exceeded
- eclipse install & configure
- spring3.1.0与junit4.5整合错误
- java读取串口数据
- java自定义注解日志
- Struts
- java之旅