标签:
TableModel 服务器的角色,实实在在的数据
JTable要展示的东西 TableModel 提供给它,刷新一次就请求一次
处理连连看消除逻辑(算法实现):
1)相同图片能够消除
2)在同一行或者同一列无障碍物可消除
3)一个拐点可消除
4)两个拐点可消除
1 package com.edp.impl; 2 3 4 import java.awt.FlowLayout; 5 6 import javax.swing.JFrame; 7 import javax.swing.JTable; 8 9 /** 10 * 11 * @author Administrator 12 * 13 */ 14 @SuppressWarnings("serial") 15 public class TableFrame extends JFrame{ 16 public static void main(String[] args) { 17 new TableFrame().initFrame(); 18 } 19 20 private void initFrame() { 21 this.setSize(800,600); 22 this.setDefaultCloseOperation(3); 23 this.setLayout(new FlowLayout()); 24 //设置窗体不能改变大小 25 this.setResizable(false); 26 this.setLocationRelativeTo(null); 27 28 MyTableModel mtm = new MyTableModel(); 29 JTable table = new JTable(mtm); 30 this.add(table); 31 this.setVisible(true); 32 33 } 34 }
1 package com.edp.impl; 2 3 import javax.swing.event.TableModelListener; 4 import javax.swing.table.TableModel; 5 6 public class MyTableModel implements TableModel { 7 //获取列类型 8 public Class<?> getColumnClass(int columnIndex) { 9 return String.class; 10 } 11 //获取总行数 12 public int getRowCount() { 13 return 0; 14 } 15 //获取总列数 16 public int getColumnCount() { 17 return 0; 18 } 19 //获取表格列名 20 public String getColumnName(int columnIndex) { 21 return null; 22 } 23 //设置单元格数据 24 public void setValueAt(Object aValue, int rowIndex, int columnIndex) { 25 } 26 //获得单元格数据 27 public Object getValueAt(int rowIndex, int columnIndex) { 28 return 0; 29 } 30 //单元格是否编辑 31 public boolean isCellEditable(int rowIndex, int columnIndex) { 32 return true; 33 } 34 public void removeTableModelListener(TableModelListener l) {} 35 public void addTableModelListener(TableModelListener l) {} 36 }
【代码笔记】Java连连看项目的实现(1)——JTable 、TableModel的使用
标签:
原文地址:http://www.cnblogs.com/xiaofu007/p/5444879.html