Swing之JTable篇采用模板形式控制表格

2024-01-04 02:48

本文主要是介绍Swing之JTable篇采用模板形式控制表格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开发中我们经常会用模板来初始化表,这样可以在初始化的时候控制表格内容。还可以重写表模板中的方法来对表做控制。
此抽象类为 TableModel 接口中的大多数方法提供默认实现。它负责管理侦听器,并为生成 TableModelEvents 以及将其调度到侦听器提供方便。要创建一个具体的 TableModel 作为 AbstractTableModel 的子类,只需提供对以下三个方法的实现:

  public int getRowCount();
  public int getColumnCount();
  public Object getValueAt(int row, int column);

实现AbstractTableModel接口对表模板做控制。

选中表单元格后,单击按钮对单元格数据做+1操作
import java.awt.BorderLayout;   
import java.awt.event.ActionEvent;   
import java.awt.event.ActionListener;   import javax.swing.JButton;   
import javax.swing.JFrame;   
import javax.swing.JScrollPane;   
import javax.swing.JTable;   
import javax.swing.table.AbstractTableModel;   public class SetValueAtToSetValue extends JFrame {   public SetValueAtToSetValue() {   final AbstractTableModel model = new MyModel();   final JTable table = new JTable(model);   getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);   model.setValueAt(new Integer(1), 0, 0);   JButton button = new JButton("Increment selected cell");   getContentPane().add(button, BorderLayout.SOUTH);   button.addActionListener(new ActionListener() {   public void actionPerformed(ActionEvent e) {   int row = table.getSelectedRow();   if(row >0)   {   int column = table.convertColumnIndexToModel(table.getSelectedColumn());   int currentValue = ((Integer) model.getValueAt(row, column)).intValue();   model.setValueAt(new Integer(currentValue + 1), row, column);   }   }   });   pack();   }   public static void main(String arg[]) {   SetValueAtToSetValue ex2 = new SetValueAtToSetValue();   ex2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   ex2.setVisible(true);   }   
}   class MyModel extends AbstractTableModel {   private int[][] table = { new int[3], new int[3], new int[3] };   public MyModel() {   for (int i = 0; i < 3; i++) {   for (int j = 0; j < 3; j++) {   table[i][j] = i * j;   }   }   }   public int getColumnCount() {   return table.length;   }   public int getRowCount() {   return table[0].length;   }   public Object getValueAt(int r, int c) {   return new Integer(table[r][c]);   }   public void setValueAt(Object obj, int r, int c) {   table[r][c] = ((Integer) obj).intValue();   fireTableCellUpdated(r, c);   }   
}  

这篇关于Swing之JTable篇采用模板形式控制表格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/567936

相关文章

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

SpringBoot集成EasyPoi实现Excel模板导出成PDF文件

《SpringBoot集成EasyPoi实现Excel模板导出成PDF文件》在日常工作中,我们经常需要将数据导出成Excel表格或PDF文件,本文将介绍如何在SpringBoot项目中集成EasyPo... 目录前言摘要简介源代码解析应用场景案例优缺点分析类代码方法介绍测试用例小结前言在日常工作中,我们经

浅析Spring如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.