swing高级JTable和TableModel与连连看入门
2016-03-03 19:28
357 查看
今天我做完了连连看入门,能实现两个相同的图片相消。
从中学习到了昨天左哥教的高级Swing和JTable和TableModel。
TableModel功能是设置表格数目和内容、而JTable的功能是展示TableModel。
这是核心代码,代码功能分别是返回表格类型、行列数目、列标题、是否可编辑、获取格子的内容和设置格子内容。
鼠标监听器内部实现消去相同两图的功能。核心代码如下:
从中学习到了昨天左哥教的高级Swing和JTable和TableModel。
TableModel功能是设置表格数目和内容、而JTable的功能是展示TableModel。
//设置模型类型 public Class<?> getColumnClass(int arg0) { return ImageIcon.class; } //返回行数 public int getColumnCount() { return 12; } public String getColumnName(int arg0) { return ""; } //返回行数 public int getRowCount() { return 12; } //获取每行每列的路径 public Object getValueAt(int row, int column) { return new ImageIcon(value[row][column]); } //编辑 public boolean isCellEditable(int row, int column) { return false; } public void removeTableModelListener(TableModelListener arg0) { } //设置 public void setValueAt(Object sss, int row, int column) { value[row][column] = (String)sss; }
这是核心代码,代码功能分别是返回表格类型、行列数目、列标题、是否可编辑、获取格子的内容和设置格子内容。
鼠标监听器内部实现消去相同两图的功能。核心代码如下:
public void mouseReleased(MouseEvent e) { JTable table = (JTable)e.getSource(); MyTableModel model = (MyTableModel)table.getModel(); if(flag){ Row1 = table.getSelectedRow(); Column1 = table.getSelectedColumn(); flag = false; }else{ Row2 = table.getSelectedRow(); Column2 = table.getSelectedColumn(); if(!(Row1==Row2&&Column1==Column2)&&model.value[Row1][Column1].equals(model.value[Row2][Column2])){ //消去两张图片 model.value[Row1][Column1] = "" ; model.value[Row2][Column2] = "" ; } flag = true; } table.updateUI(); }
相关文章推荐
- linux命令格式--tar命令
- Android学习笔记----SQLite数据库基本用法
- Leetcode:110. Balanced Binary Tree(JAVA)
- opencv学习笔记(二十六)——相机标定之棋盘提取角点
- 配置文件
- css选择器优先级深入理解
- matlab GUI界面设计总结
- printf 遇到bash重定向
- spring+mybatis事务管理(声明式+编码式)
- SQL
- Android Design Support Library初探-更新中
- C++ lambda 表达式传递的变量默认不可变
- Android中SharedPreference多进程数据共享出错
- 我所理解的MVC
- HTML5 学习笔记
- 如何使用Android Studio开发Gradle插件
- STC15F2K60S2实现A/D转换
- PHP功能强大的字符串处理函数
- GC问题的分析角度
- 做需求分析一点心得