您的位置:首页 > 编程语言 > Java开发

【代码笔记】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

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) {}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: