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

相关文章

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

pandas使用apply函数给表格同时添加多列

《pandas使用apply函数给表格同时添加多列》本文介绍了利用Pandas的apply函数在DataFrame中同时添加多列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录一、Pandas使用apply函数给表格同时添加多列二、应用示例一、Pandas使用apply函

Python实现Word文档自动化的操作大全(批量生成、模板填充与内容修改)

《Python实现Word文档自动化的操作大全(批量生成、模板填充与内容修改)》在职场中,Word文档是公认的好伙伴,但你有没有被它折磨过?批量生成合同、制作报告以及发放证书/通知等等,这些重复、低效... 目录重复性文档制作,手动填充模板,效率低下还易错1.python-docx入门:Word文档的“瑞士

Java使用Swing生成一个最大公约数计算器

《Java使用Swing生成一个最大公约数计算器》这篇文章主要为大家详细介绍了Java使用Swing生成一个最大公约数计算器的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下... 目录第一步:利用欧几里得算法计算最大公约数欧几里得算法的证明情形 1:b=0情形 2:b>0完成相关代码第二步:加

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

Java利用Spire.XLS for Java设置Excel表格边框

《Java利用Spire.XLSforJava设置Excel表格边框》在日常的业务报表和数据处理中,Excel表格的美观性和可读性至关重要,本文将深入探讨如何利用Spire.XLSforJava库... 目录Spire.XLS for Java 简介与安装Maven 依赖配置手动安装 JAR 包核心API介

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

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