Java-Swing组件,维护JTable model学习

Java Swing与SQLite实战:从零构建本地可视化记账本 在软件开发领域,数据持久化与图形用户界面(GUI)是构建桌面应用的两大核心基础。数据持久化通过数据库技术实现信息的长期存储与管理,而GUI则为用户提供了直观的交互方式。Java Swing作为Java标准库中的GUI工具包,以其跨平台和无需额外依赖的优势,成为学习桌面开发的经典选择。结合SQLite这一轻量级、零配置的嵌入式数据库,开发者能够高效实现数据的本地化存储与管理,这对于注重数据隐私与自主可控的应用场景具有重要价值。这种技术组合尤其适用于需要快速原型开发、对数据安全有要求或个人学习练手的项目,例如开 阅读详情

在这里插入图片描述
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class Demo extends JFrame{
private DefaultTableModel model;
private JTable table;
private JTextField t1,t2;
private JButton btn1,btn2,btn3;
public Demo() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBounds(200, 200, 510, 420);
setTitle(“维护表格模型”);
Container c=getContentPane();
c.setLayout(null);
JPanel p1=new JPanel();
p1.setBounds(10, 10, 480, 280);
p1.setBorder(BorderFactory.createLineBorder(Color.black));
p1.setLayout(new BorderLayout());
JPanel p2=new JPanel();
p2.setBounds(10, 300, 480, 80);
p2.setBorder(BorderFactory.createLineBorder(Color.blue));
p2.setLayout(null);
String[] columnNames= {“A”,“B”};
String[][] tableValues= {{“A1”,“B1”},{“A2”,“B2”},{“A3”,“B3”}};
model=new DefaultTableModel(tableValues,columnNames);
table=new JTable(model);
table.setRowHeight(30);
JScrollPane sc=new JScrollPane(table);
p1.add(sc,BorderLayout.CENTER);

	t1=new JTextField();
	t1.setBounds(10, 10, 90, 60);
	t2=new JTextField();
	t2.setBounds(110, 10, 90, 60);
	btn1=new JButton("添加");
	btn1.setBounds(225, 10, 80, 60);
	btn2=new JButton("修改");
	btn2.setBounds(310, 10, 80, 60);
	btn3=new JButton("删除");
	btn3.setBounds(395, 10, 80, 60);
	p2.add(t1);
	p2.add(t2);
	p2.add(btn1);
	p2.add(btn2);
	p2.add(btn3);
	c.add(p1);
	c.add(p2);
	setVisible(true);
}
private void addListener() {
	btn1.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
			String rowDate[]= {t1.getText(),t2.getText()};
			model.addRow(rowDate);
			int rowCount=table.getRowCount()+1;
			t1.setText("A"+rowCount);
			t2.setText("B"+rowCount);
		}
	});
	btn2.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
			int selectedRow=table.getSelectedRow();
			if (selectedRow !=-1) {
				model.setValueAt(t1.getText(), selectedRow,0);
				model.setValueAt(t2.getText(), selectedRow,1);
			}
		}
	});
	btn3.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
			int selectedRow=table.getSelectedRow();
			if (selectedRow !=-1) {
				model.removeRow(selectedRow);
			}
		}
	});
}
public static void main(String[] args) {
	Demo d=new Demo();
	d.addListener();
}

}

Java Swing图书管理系统实战:MVC架构、Swing GUI与数据持久化详解 在软件开发中,设计模式是构建可维护、可扩展应用的核心思想,其中MVC(Model-View-Controller)模式是分离关注点的经典实践。其原理在于将应用分为模型(数据与业务逻辑)、视图(用户界面)和控制器(输入处理与协调)三层,以此降低耦合度,提升代码复用性。这一模式的技术价值在于,它使得开发者能够独立地修改数据层、界面层或控制逻辑,而无需牵一发而动全身,极大地便利了团队协作与后期维护。在应用场景上,MVC尤其适用于需要清晰架构的桌面应用或Web应用开发。本文以Java Swing桌面应用——一个完整 阅读详情

相关推荐

Java Swing会员管理系统设计与CSV/Excel文件读写实战

从Java桌面应用开发的基础概念出发,介绍Swing作为JDK内置GUI框架在轻量级项目中的稳定优势,讨论分层架构(视图、控制、数据)对代码维护性的价值。文章深入解析CSV与Excel文件格式的本质区别,强调文本格式与二进制格式在数据处理上的不同原理,并结合实际场景说明如何选用合适的存储方案。通过一个完整的会员管理系统案例,展示JTable数据绑定、自定义TableModel、CSV解析工具类设计、UTF-8编码处理等关键技术,同时给出中文乱码、大数据量卡顿等常见问题的排查思路。无论用于课程设计还是企业内部

weixin_32075843的博客 229

Java Swing JTable 表格【4:表格模型TableModel】

创建表格模型TableModel: TableModel是一个接口,在这个接口里定义了若干的方法,包括存取表格字段(cell)的内容、计算表格的列数等基本存取操作,从而可以利用TableModel来创建一个自己想要的表格。 TableModel的在API中的结构:常用的方法:TableModel,AbstractTableModel,DefaultTableModel的区别和联系: Tabl

爱的叹息的专栏 6455

Swing学生成绩系统实战:JTable表格、DAO分层与SQLite持久化完整指南

桌面图形界面开发中,Java Swing凭借JDK自带、零依赖和跨平台特性,成为学习GUI编程与数据管理的基础方案。理解组件渲染模型与分层架构,是构建可维护界面的关键。Swing中的JTable组件负责表格化展示数据,配合TableModel可高效刷新与交互;而DAO模式将数据访问与业务逻辑解耦,使持久层切换成为简单配置问题。借助JDBC与SQLite单文件数据库,开发者能快速搭建轻量级应用,并兼顾演示与交付的便捷性。本文以学生成绩管理系统为例,系统梳理从实体建模、DAO接口设计、JTable动态渲染,到模

weixin_30225755的博客 78

Swing JtableModel 使用之旅

JTable 是我们一般展示数据的一个很好的Grid组建,个人认为在使用swing 组建时对其model的定义很重要,今天鄙人做了小小研究,定义了自己的TableModel,甚是高兴,于是分享出来与大家共同进步。 首先定义我们要展示的数据模型: MyData.java   package table; import java.util.HashMap; import java.ut...

ilyon 952

Java Swing三角色选课系统源码包(管理员/教师/学生全功能桌面版)

基于Java Swing开发的轻量级桌面选课系统,支持管理员、教师、学生三类用户独立登录与权限隔离。管理员可管理课程、教师、学生基础信息,设置学期与开课计划;教师能查看所授课程、录入和修改学生成绩、查询选课名单;学生端提供课程浏览、选课退课、成绩查询、个人信息维护等功能。所有界面均使用Swing组件构建,无Web依赖,开箱即用。源码包含LoginFrame统一登录入口,ManagerFrame、TeacherFrame、StudentFrame三大主界面类,CourseSelect处理选课核心逻辑,Grad

efc1234567的博客 166

swing表格分页控件封装

java swing表格分页控件封装,有利于在开发中节约时间

swing高级JTable和TableModel与连连看入门

今天我做完了连连看入门,能实现两个相同的图片相消。 从中学习到了昨天左哥教的高级Swing和JTable和TableModel。 TableModel功能是设置表格数目和内容、而JTable的功能是展示TableModel。 //设置模型类型 public Class getColumnClass(int arg0) { return ImageIcon.class; } //返回

1123

swing tableModel多列排序实现

swing tableModel多列排序实现 swing tableModel多列排序实现

Java-Swing-JTable(DefaultTableModel)

学校的实验指导书的实现   原题: 1、运用表格模型创建如图所示的界面,为表格添加按钮事件: (1)点击“插入”,取文本框中的数据插入表格的第一行; (2)点击“添加”,取文本框的数据加到表格的最后一行; (3)点击“删除”,删除当前选中的一行数据; (4)点击“修改”,根据文本框数据更新表格数据。 结果图: 先了解一下JTable和DefaultTableModel JTable表格的实现。JTable 是用来显示和编辑常规二维单元表。 可以用数组或者...

zyp_zl的博客 7138

java swing tableModel添加行修改行删除行

java swing tableModel添加行修改行删除行 基础篇 我根据课程慢慢上传的 适合初学者 实用的好东西 大家快来呀!!!

PowerBI参数化实战:3分钟搞定动态数据源切换(附常见错误排查)

本文详细介绍了PowerBI参数化实战技巧,教你3分钟实现动态数据源切换。通过创建参数、改造查询和测试切换三步,轻松应对多环境部署与团队协作中的路径问题,并附上常见错误排查指南,有效提升报表的可维护性和工作效率。

p1q2r的博客 585

自己封装的swing框架,能够快速写出一个页面(带Tab、菜单)

效果图: 现在写页面的方式有很多,Java也可以写页面,只不过太过繁琐了。鄙人不才,对swing进行简单的封装后,自我感觉顺手了许多(当然可能还有改进空间) StartFrame 启动程序 MainFrame 主要窗体 TabPanel tab面板 SwingBuilder 构建器,用来构建菜单以及tab页面结合 Theme 主题接口,用来适应不同分辨率屏幕的样式 BasePanel 基础面板,用来构建panel 传统写法: 我的写法: 上述效果图完整的页面: 三、页面步骤(

编程技术分享,Java后端、Vue前端 2455

睿尔曼超轻量仿人机械臂-ROS第一篇 启动机械臂的Moveit

本文主要讲述了睿尔曼六轴机械臂在ROS中的功能包配置,及如何根据文件启动Moveit做仿真。

realman_Rop的博客 7489

swing图形用户界面设计

swing图形用户界面设计

ILFFQ的博客 4709

ESP32语音交互实战:离线唤醒与DeepSeek大模型集成

本文详细介绍了如何将ESP32-S3开发板与天问ASRPRO语音模块结合,实现离线语音唤醒并集成DeepSeek大模型的智能交互系统。通过串口通信与API调用,系统可处理本地指令及复杂语义请求,适用于低成本、高隐私保护的AIoT语音交互场景。

rust6ferris的博客 868

Windows系统监控实战:Grafana+Prometheus+node_exporter保姆级配置指南(含常见问题解决)

本文提供了一份详尽的Windows系统监控实战指南,详细讲解了如何从零部署Grafana、Prometheus和node_exporter(实际为windows_exporter)监控栈。内容涵盖核心组件认知、分步配置解析、高级生产环境考量,并重点针对配置过程中常见的“No Data”问题提供了系统性的排查手册,旨在帮助用户快速搭建稳定可靠的系统资源监控平台。

weixin_29197835的博客 1008

Swing表格JTable通过JTableModel插入行

转自:http://www.cnblogs.com/maxblog/archive/2010/09/03/1816919.html import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.Mous

qwezhaohaihong 1468

博图SCL基础知识-寻址调用及新建SCL

和LAD/FBD不同,LAD/FBD在程序编辑器是一段一段的,编辑器可以插入新的网络段,每一个网络段可以有各自的注释。一般情况下,FB的简单数据类型形参可以没有对应实参,复杂数据类型的输入、输出也可以没有对应实参,所以FB可以隐藏或不隐藏不出现的形参。一般情况下,FB的简单数据类型形参可以没有对应实参,复杂数据类型的输入、输出也可以没有对应实参,所以FB可以隐藏或不隐藏不出现的形参。如图3所示,当FB的参数全部显示,在背景数据块右键可以激活"仅显示分配的参数";如图2所示,显示了一些FB调用的例子。

电工 2029

Swing的介绍

Swing是一个为java设计的GUI工具包.Swing是JAVA基础类的一部分. Swing包括了图形用户界面(GUI)器件如 : 文本框,按钮,分隔窗格和表. Swing提供许多比AWT更好的屏幕显示元素.它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT.它们是JFC一部分.它们支持可更换的面板和主题,然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们.这...

漏气的可乐的博客 1041

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

jks212454的博客 625

MATLAB基础应用精讲-【深度强化学习】SAC(Soft Actor-Critic)算法(附MATLAB和python代码实现)

Actor 网络:用于选择动作。Critic 1 和 Critic 2 网络:用于估计 Q 值。Target Critic 1 和 Target Critic 2:与 Critic 网络架构相同,用于生成更稳定的目标 Q 值。,即在保证探索的情况下选择高价值动作。软更新目标 Q 网络参数,使得目标网络参数缓慢向当前网络靠近,避免振荡。

qq_36130719的博客 454

维护表格模型

public class ExampleFrame_06 extends JFrame{ private DefaultTableModel tableModel; private JTable table ; private JTextField aTextField; private JTextField bTextField; ...

weixin_30507269的博客 147

2025华为杯第二十二届中国研究生数学建模竞赛D题:低空湍流监测及最优航路规划 - 完整解题分析+完整MATLAB源码!(下篇)

🎓 本文收录于 《滚雪球学数学建模》专栏,本专栏专注于从零基础出发,带你循序渐进掌握数学建模的核心方法与思维路径。通过“滚雪球式”学习法,从最简单的生活化案例到经典建模工具,再到省赛、国赛真题实战演练,逐步积累知识与技能,帮助你搭建完整的建模体系。无论你是刚接触建模的新生,还是希望提升科研与竞赛能力的学者与工程师,本专栏都将为你提供一条清晰、高效、可实操的建模成长路线,助力你快速进阶,突破难点,迈向数学建模竞赛与实际应用的更高峰 🚀!

**My Coding Family** 1621

Java Swing+SQLite+JDBC实战:从零构建可视化本地记账本桌面应用

在Java桌面应用开发领域,掌握图形用户界面(GUI)与数据持久化的整合是核心技能之一。其基本原理是通过事件驱动模型构建用户交互界面,并利用数据库连接技术实现数据的增删改查(CRUD)操作。这种技术组合的价值在于能够创建独立、功能完整的本地化应用,无需依赖网络服务。典型的应用场景包括个人工具软件、小型管理系统和教学演示项目。本文以**可视化本地记账本**为例,详细演示如何将Java Swing、SQLite和JDBC三大技术栈有机结合,通过**三层架构**设计实现从界面到数据存储的完整闭环,为Java初学者

weixin_34090562的博客 396

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

BurpSuite插件UI开发实战:从Swing组件到线程安全架构

在Java桌面应用开发中,Swing作为经典的GUI工具包,其核心原理在于基于事件驱动模型构建用户界面。遵循MVC/MVP设计模式能有效分离界面与业务逻辑,提升代码可维护性。在安全测试工具开发领域,UI组件的技术价值在于将后台功能可视化,实现人机高效交互,从而扩展工具的应用场景,如漏洞管理面板、数据流分析工具等。开发过程中必须严格遵守事件调度线程(EDT)规则,使用SwingWorker处理后台任务,这是保障界面流畅、避免卡顿的关键。本文聚焦于BurpSuite插件开发,详细讲解如何利用ITab、ICont

weixin_30527323的博客 589

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: Java-Swing组件模拟记事本界面练习
下一篇: Java awt组件图片缩放练习
WiFi_PRO
博客等级 码龄7年 0粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值