JAVA JTable的实用使用方法

图形界面系列教材 (十)- Swing 使用 JTable详解 首先说下TableModel的设计思想,在Model这种思想的指导下,数据和显示分离开来了。数据部分,专门做一个类,叫做TableModel,就用于存放要显示的数据。这正好演绎了Model设计思想中的数据分离的好处,当只需要数据发生变化的时候,修改Model即可,界面GUI部分,不需要做任何改动。第一个单元格的数据的时候,就会调用方法TabelModel的getValueAt(0,0) ,把返回值拿到并显示。如果用户输入的名称为空,或者血量不是小数,在提交数据的时候都会报错。 阅读详情
创建table,调用无参的构造函数:
JTable table= new JTable();


以表头和数据创建表格
//这要求表头和数据都不能为空,不然会抛出NullPointerException,即不能通过这个方法创建出一个只有表头的表格

Object[][] cellData = {{"row1-col1", "row1-col2"},{"row2-col1", "row2-col2"}};
String[] columnNames
= {"col1", "col2"};
JTable table
= new JTable(cellData, columnNames);

为空表格添加列
//这种方法能创建只有表头的表格

//这是实际应用中的一个例子
JTable table=new JTable();
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
//因为只有DefaultTableModel有addColumn的功能,而table.getModel()返回的是一个TableModel类型的对象
//查看API,DefaultTableModel实现了TableModel的接口,为了调用DefaultTableModel的方法,必须强制类型转换
tableModel.addColumn("autoclass1");
tableModel.addColumn("autoclass2");
tableModel.addColumn("diff");
tableModel.addColumn("content");
结果:
JAVA JTable的实用使用方法 - 小镜子~ - 菜园子

为表格添加行(数据):
Object[] o={"1","2","3","4"};
tableModel.addRow(o);
 结果:
JAVA JTable的实用使用方法 - 小镜子~ - 菜园子


获取第n+1行第m+1列的数据
//n,m都是从0开始

DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
String cellData=(String) tableModel.getValueAt(0,0);
//cellData是第一行第一列的数据值
//getValueAT(a,b)返回的是Object类型的对象


设置第n+1行第m+1列的数据
tableModel.setValueAt("afaf", 0, 0);



统计列数和行数:
tableModel.getRowCount()
tableModel.getColumnCount()
//返回的是int类型的值


设置列宽,行高:
TableColumn column = table.getColumnModel().getColumn(0);//取第一列
   column.setPreferredWidth(30);
   column.setMaxWidth(
30);
column.setMinWidth(
30);

   table.setRowHeight(20);


删除列,删除行
table.removeColumn(table.getColumnModel().getColumn(1));
//删除第二列的数据

DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
tableModel.removeRow(0);
//删除第一行的数据

清空表的所有行,只保留表头:
//table和tableModel都没有clear()的方法
tableModel.setRowCount(0);
如果连表头也不要了:
tableModel.setColumnCount(0);



JTable的监听:
有很多,先只讲一个我常用到的:
ListSelecitonListener,监听选定特定行,响应相应的事件

例:获取选定行的第4列的值,并把它显示在一个JTextArea里
写一个内部类实现ListSelectionListener接口
JAVA JTable的实用使用方法 - 小镜子~ - 菜园子
 为table添加监听:
ListSelectionModel selectionMode=table.getSelectionModel();
selectionMode.addListSelectionListener(new RowSelectionListener());

效果图:
JAVA JTable的实用使用方法 - 小镜子~ - 菜园子
 
 





 
使用Java创建自定义JTable 通过使用DefaultTableModel类,我们可以轻松地添加数据和列名,并使用各种方法来调整表格的外观和行为。JTable是Java Swing库中的一个重要组件,用于在图形用户界面(GUI)中显示和编辑表格数据。本文将介绍如何使用Java编写代码来创建和定制JTable,并展示一些常见的JTable功能。如果需要对表格进行定制,可以使用JTable的各种方法来设置表格的外观和行为。现在,当你运行这段代码时,一个带有自定义数据和列名的JTable将显示在GUI窗口中。 阅读详情

相关推荐

Unity ProBuilder(自己创建斜面、拐角)

ProBuilder基础实例

weixin_56537692的博客 1551

Java Swing JTable:表格

1 JTable:表格 表格是 Swing 新增加的组件,主要功能是把数据以二维表格的形式显示出来,并且允许用户对表格中的数据进行编辑。表格组件是最复杂的组件之一,它的表格模型功能非常强大、灵活而易于执行。Swing 使用 JTable 类实现表格。 1.2 JTable 构造函数 JTable():构造一个默认的 JTable,使用默认的数据模型、默认的列模型和默认的选择模型对其进行初始化。...

书香水墨 3339

字符串相似度比较算法:Jaro–Winkler similarity的原理及实现

前言 在前面的文章中,笔者有对编辑距离以及Levenshtein距离进行详细的说明,其实levenshtein距离是编辑距离的其中一种定义,本文所说的Jaro距离是编辑距离的另外一种定义,它也是对两个字符串的相似度进行衡量,以得出两字符串的相似程度。下面我们一起来学习这个算法的原理以及实现吧。 标题算法定义 下面先说说Jaro distance(又称Jaro similarity),这是由Matt...

蓝天白云梦的csdn博客 1万+

Java------JTable的使用

JTable,表格。JTable 是用来显示和编辑常规二维单元表。 表格组件和其他普通组件一样,需要添加到中间容器中才能显示,添加表格到容器中有两种方式: 添加到普通的中间容器中(如上面代码实例所示的添加到JPanel),此时添加的jTable只是表格的行内容,表头(jTable.getTableHeader())需要额外单独添加。此添加方式适合表格行数确定,数据量较小,能一次性显...

hello_cmy的博客 4978

基于PlatformIO与CMSIS的STM32库函数开发实战:从环境搭建到外设驱动

本文详细介绍了基于PlatformIO与CMSIS的STM32库函数开发实战,从环境搭建到外设驱动实现。通过对比传统IDE,PlatformIO结合CMSIS框架在跨平台开发、代码可移植性和调试体验上更具优势。文章包含PlatformIO.ini配置详解、GPIO/USART驱动开发实例及常见问题解决方案,帮助开发者高效完成STM32项目开发。

weixin_29190169的博客 423

EB配置I2c - 实现与PF8200的读写操作

①,基于硬件实现IIC通信(硬件GPIO引脚配置为I2c复用引脚)②,基于软件模拟IO实现IIC通信(代码控制SDA和SCL两个IO引脚的电平来模拟IIC时序)本文章基于64pin的恩智浦S32K146型号的芯片作为主机,从机是NXP的供电芯片。在本次实验中,我们将以使用EB工具链来配置硬件IIC通信。1,EB配置2,代码编写3,测试验证话不多说,走你~写操作比较简单,只需要申明一个I2c配置结构体变量即可。

weixin_48498880的博客 3768

JAVA JTable 方法全集

void addColumn(TableColumn aColumn) 将 aColumn 追加到此 JTable 的列模型所保持的列数组的结尾。 void addColumnSelectionInterval(int index0, int index1) 将从 index0 到 index1(包含)之间的列添加到当前选择中。 void addNotify() 调用 configureEnclosingScrollPane 方法。 void addRowSelectionInterval(int inde

weixin_41999297的博客 2412

RGB渐变颜色转换公式及例程

设Step=51,将RGB(255,0,0)颜色渐变为RGB(0,255,0),即RGB(255,0,0)经过51次颜色渐变转为RGB(0,255,0);设Step=51,将RGB(0,255,0)颜色渐变为RGB(0,0,255),即RGB(0,255,0)经过51次颜色渐变转为RGB(0,0,255);设Step=51,将RGB(0,0,255)颜色渐变为RGB(255,0,0),即RGB(0,0,255)经过51次颜色渐变转为RGB(255,0,0);分步骤的方式,使其渐变色循环整个颜色值;

1万+

java JTable有什么设置方法

分类: Java2010-06-05 21:49 543人阅读 评论(1) 收藏 举报 javaobjectjcomponentswingstring网格 void addColumn(TableColumn aColumn)            将 aColumn 追加到此 JTable 的列模型所保持的列数组的结尾。  void addColumnSelectionInter

CARROTHWQ的专栏 863

详述 MIMIC 数据库26张数据表(一)

作者按照自身理解和实验要求对MIMIC-III的26张数据表进行整理归纳并进行介绍。

越努力 越幸运 7237

本地部署大模型:dgx-spark-ai项目硬件选型、部署与私有化AI构建指南

大语言模型(LLM)的本地部署是当前AI工程实践中的重要方向,其核心原理在于将模型权重与计算过程完全置于用户可控的硬件环境中。这项技术的核心价值在于实现了数据主权与隐私安全,避免了云端服务的延迟、持续订阅成本及数据外泄风险。从技术实现看,本地部署的关键在于硬件选型与软件环境适配,尤其是NVIDIA GPU的CUDA生态、显存容量与内存带宽的匹配。在应用场景上,本地化部署特别适合对数据敏感性要求高的领域,如企业内部代码助手、金融分析或医疗研究,能够支持私有化模型微调与定制化工作流构建。本文以dgx-spark

weixin_42531579的博客 505

java jtable方法_Java中JTable如何使用?

Listing A包含了一个简单示例的代码,这个示例会说明常用JTable的行为。用户能够更改JTable的布局、拖放它的栏,或者通过拖动标题的分隔线来改变其大小。这些列被保存在一个String数组里:String[] columnNames = {"Product","Number of Boxes","Price"};数据被初始化并保存在一个二维的对象数组里:Object[][] data =...

weixin_39941732的博客 816

【Hermes Agent】2026 Hermes Agent 最新入门级实战指南:从原理、部署、模型配置到落地 Demo

当下 Vibe Coding、AI 自动化时代,单纯对话大模型已经没有竞争力,

十年老程序猿,AI 疯狂研究专家,前沿硬核知识分享 244

java jtable方法,java swing之JTable跟JList

java swing之JTable和JList1、JTableJTable构造方法:JTable(TableModel dm)JTable(object[][]rowData,object[]columnNames)JTable(Vector rowData,Vector columnNames)JTable类常用的方法有:getModel() //获得表格的数据来源对象getSelected...

weixin_42455621的博客 999

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java jtable 清空数据_JAVA修改、删除数据之后刷新JTABLE的方法

以下代码不完整,仅把关键的代码贴出来String userTitle[] = {“ID”,”用户名”,”密码”,”邮箱”,”名字”,”等级”};tab = new Object[userInfoNumber][6];Iterator iter = userList.iterator();while(iter.hasNext()){User user = iter.next();tab[i][0] ...

weixin_28864485的博客 1572

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

java jtable方法_Java 子类回调更新JTable的方法

Java 子类回调更新JTable的方法Java 子类回调更新JTable的方法最近开发一个java 窗体应用,涉及到通讯过程中需将socket 接收的信息添加值Jtable中显示,涉及到java 的回调,经过一些时间的研究,终于调试通过,因此记录下来,以便别人学习,也便于自己后期查阅。Socket 接收消息通过线程监听完成,因此是异步更新。所以接收到信息后需要回调达到更新窗体的目的。过程和原理都...

weixin_29184371的博客 210

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

java jtable组件_java – 在JTable中显示组件的最佳方法?

我不是要问如何在JTable中显示一个Component,因为在线有几个教程和示例.但是,我想知道最好的解决方法是什么.例如,我遇到的大多数教程都有创建单独类的示例(Main类,一个扩展JTable,扩展TableModel,扩展TableCellRenderer,等等).但是,我发现你不仅可以在一个类中完成它,而且可以通过简单地使用以下方法来实现:示例代码(SSCCE)主要public clas...

weixin_36382155的博客 371

java swing 隐藏jtable 列的方法

转自:http://blog.youkuaiyun.com/caofeilong20941/article/details/8207156 // 隐藏列 public void HiddenCell(JTable table, int column) { TableColumn tc = table.getTableHeader().getColumnModel().getColumn( colu

auragreen的专栏 5287

java getselectedrow_Java JTable.getSelectedRow方法代碼示例

本文整理匯總了Java中javax.swing.JTable.getSelectedRow方法的典型用法代碼示例。如果您正苦於以下問題:Java JTable.getSelectedRow方法的具體用法?Java JTable.getSelectedRow怎麽用?Java JTable.getSelectedRow使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步...

weixin_39525097的博客 2339

java tablecelleditor_Java JTable.getCellEditor方法代码示例

import javax.swing.JTable; //导入方法依赖的package包/类public void testEditors() {setUpModel();JTable t = ot.treeTable.getTable();ot.revalidate();javax.swing.JFrame f = new javax.swing.JFrame();f.setLayout(new...

weixin_34773479的博客 607

java jtable 排序_解决JTable排序问题的方法详解

JTable的排序是一个让人头疼的问题,Sun没有为排序这个最常用的功能提供类。但是近日翻看Sun官方java的tutorial,却发现其在文档中提供了这个类的实现,使用非常简单!使用方法示例:TableSorter sorter = new TableSorter(new MyTableModel()); //ADDED THIS//JTable table = new JTable(new M...

weixin_29234423的博客 1210

java设置JTABLE不可编辑的方法,表格不可编辑(转)

设置JTABLE不可编辑的方法 将JTable的单元格设置为不可编辑,有三种方法。 第一种是自己写一个MyTable类继承DefaultTableModel,重写其中的isCellEditable方法; 第二种是在创建JTable对象时, JTable treeTable = new JTable(tableModel){ public boolean isCellEditable(int row, int column) { return false; }}; 第三种是treeTable.setEnabl

weixin_46028606的博客 7835

java jtable加一个值_Java-方法更改JTable中变量的值(刷新不起作用)

我有一个JTable,其中一个单元格内有一个变量.单击Button时,变量会更改,但JTable中没有任何更改.这是我的简单示例代码:public class Test extends JPanel {static String var = "One";Object rowData[][] = { { var, "Two", "Three" },{ "Four", "Five", "Six" } ...

weixin_39671405的博客 354

【java】将vector数据传入Jtable的方法

问题背景 在设计编译器的过程中,需要获取JtextAera中的字符,处理后得到token序列,并将token序列显示在Jtable中 在一开始,我并没有理解Jtable显示数据的原理,以为数据在导入之后可以直接存储在Jtable中,便参考了其他博文中的改变单元格数据方法,直接修改。 // 设置表格中指定单元格的数据 jTable.getModel().setValueAt(Object aValue, int rowIndex, int columnIndex); // 获取表格中指定单元格的数据 Ob

月下客 1618
上一篇: javadoc和各种tag使用
下一篇: Oracle(存储过程,触发器等中) if语句中不能有子查询的原因和解决方案
wangxiaojingo
博客等级 码龄15年 31粉丝 60原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值