【代码笔记】Java连连看项目的实现(1)——JTable 、TableModel的使用

  1. javax.swing.table.TableModel和javax.swing.JTable
  2. JTable 、TableModel是Java里面画表格的包。
  3. TableModel:为Table提供显示数据、表格维数、表格中显示数据类  型、列标题等Table需要显示的一些属性
  4. JTable:提供表格本身的属性和操作,比如表格的样式、行高、背景、行选中属性等
  5. JTable相当于网页,模特;TableModel相当于服务器,衣服。
  6. JTable 、TableModel 两者是相互依赖的关系(等于B/S模式)
  7. TableModel  服务器的角色,实实在在的数据
  8. JTable要展示的东西  TableModel  提供给它,刷新一次就请求一次
  9. 处理连连看消除逻辑(算法实现):

    1)相同图片能够消除

    2)在同一行或者同一列无障碍物可消除

    3)一个拐点可消除

    4)两个拐点可消除

  10. 连连看项目思路:
    1. 建好窗体;
    2. 增加JTable组件
    3. 增加TableModel组件
  11. 文件目录:
  12. TbaleFrame.java

     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 }
  13. MyTableModel.java

     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 }
时间: 2024-10-11 22:02:44

【代码笔记】Java连连看项目的实现(1)——JTable 、TableModel的使用的相关文章

【代码笔记】Java连连看项目的实现(2)——JTable 、TableModel的使用

博客有时间就写写,所以一篇可能会拆成很多篇,写完后计划再合在一起. 首先肯定是要实现连连看的界面. 先准备连连看要的图片.. “LianLianKan”就是项目名称. 当然,如果小白看我的博客想学到什么,我会说还是放弃,因为文字描述会忽视很多细节,而细节决定bug…… 所以,包括以前的和以后的,博文都会是给自己看看或者内行触类旁通的,也就是——笔记. 我也是今天才明白博文的真正意义吧,所以以后的博文风格会大改……尽量会用自己语言风格来描述以便自己能看懂. 废话少说,现在的第2步: 创建数组,一个

Java笔记---部署 JavaWeb 项目到云服务器

一.前言 前面我们已经尝过了在云服务器上部署代码的甜头了,现在主菜就要上场了,那就是将我们的 JavaWeb 项目部署到云服务器上.兴奋吧?淡定淡定~ 二.项目部署 我们对于 Java Web 项目在本地机器(无论是 Windows 还是 Linux)上的部署已经了然于心了,那么对于在云服务器上部署 Java Web 项目又是如何操作的呢? 其实很简单,还是离不开 Web 项目部署的那三点: ① 基础的 JDK 环境 ② 一个 Web 服务器.如 Tomcat.JBoss ③ 一款数据库.如:m

编写高质量代码改善java程序的151个建议——[110-117]异常及Web项目中异常处理

原创地址:http://www.cnblogs.com/Alandre/(泥沙砖瓦浆木匠),需要转载的,保留下! 文章宗旨:Talk is cheap show me the code. 大成若缺,其用不弊.大盈若冲,其用不穷.  <道德经-老子>最完满的东西,好似有残缺一样,但它的作用永远不会衰竭:最充盈的东西,好似是空虚一样,但是它的作用是不会穷尽的 Written In The Font 摘要: 异常处理概述 学习内容: 建议110: 提倡异常封装 建议111: 采用异常链传递异常 建议

JAVA Web项目中用到Redis的代码调试

JAVA Web项目中用到Redis的代码调试方法 在项目开发中用到了Redis,需要调试输出数据的正确性, 方法一:修改代码,暂时不从Redis取数据 方法二:清除Redis数据库中的所有key 登录Redis服务器,切换目录到Redis的目录: cd /opt/redis-2.8.13/src/ 清除Redis数据库中的所有key ./redis-cli flushall

转载-------编写高质量代码:改善Java程序的151个建议(第1章:JAVA开发中通用的方法和准则___建议1~5)

阅读目录 建议1:不要在常量和变量中出现易混淆的字母 建议2:莫让常量蜕变成变量 建议3:三元操作符的类型务必一致 建议4:避免带有变长参数的方法重载 建议5:别让null值和空值威胁到变长方法              The reasonable man adapts himself to the world; The unreasonable one persists in trying to adapt the world himself. 明白事理的人使自己适应世界:不明事理的人想让世

基于IBM Bluemix部署Java Web项目实战演练

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要介绍了IBM Bluemix,并详细说明了如何部署Java Web项目,如何添加MySql服务.最后,提出了自己的一些看法.  文章目录 一.Bluemix简单介绍 二.BlueMix空间申请试用 三.BlueMix创建Cloud Foundry应用 四.添加新的服务 五.总结 一.Bluemix 简单介绍 1.Bluemix 带来了什么        Bluemix 致力于解

编写高质量代码改善java程序的151个建议——导航开篇

2014-05-16 09:08 by Jeff Li 前言 系列文章:[传送门] 下个星期度过这几天的奋战,会抓紧java的进阶学习.听过一句话,大哥说过,你一个月前的代码去看下,惨不忍睹是吧.确实,人和代码一样都在成长,都在变好当中.有时候只是实现功能的编程,长进不了呀. 博客提供的好处就可以交流,讨论的学习方法你们应该知道. 在这里,我会陆陆续续的进行对<编写高质量代码改善java程序的151个建议>看法,希望大家点击交流. 正文 看这本书原因   1.项目做的只是实现功能,然而没有好好

Asp.Net Identity学习笔记+MVC5默认项目解析_授权&Claim

Identity学习笔记 Asp.Net Identity学习笔记+MVC5默认项目解析_基础用法 Asp.Net Identity学习笔记+MVC5默认项目解析_授权&Claim Identity学习笔记授权以角色授权IdentityRoleRoleManager基于声明的(Claims)IPrincipalIIdentityCalimsIdentityClaim用户登入用户授权其他细节Claim Type命名空间 授权 最常用的授权就是给Controller或Action打上[Authori

使用Spring Boot来加速Java web项目的开发

使用Spring Boot来加速Java web项目的开发 我想,现在企业级的Java web项目应该或多或少都会使用到Spring框架的. 回首我们以前使用Spring框架的时候,我们需要首先在(如果你使用Maven的话)pom文件中增加对相关的的依赖(使用gradle来构建的话基本也一样)然后新建Spring相关的xml文件,而且往往那些xml文件还不会少.然后继续使用tomcat或者jetty作为容器来运行这个工程.基本上每次创建一个新的项目都是这么一个流程,而我们有时候仅仅想快速的创建一