java制作表格存放书籍和删除,不用数据库

时间: 2024-03-14 19:45:36 浏览: 16
如果你想在Java中制作一个表格来存储书籍,并且可以删除数据,但不使用数据库,可以使用Java Swing库中的JTable类和TableModel接口。 以下是一个简单的例子,其中包括添加和删除书籍的功能: ```java import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JButton; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class BookTable extends JFrame { private JTable table; private DefaultTableModel model; public BookTable() { setTitle("书籍表格"); setSize(500, 300); setDefaultCloseOperation(EXIT_ON_CLOSE); // 创建表格和数据模型 String[] columnNames = {"书名", "作者", "出版社", "价格"}; Object[][] rowData = { {"Java编程思想", "Bruce Eckel", "机械工业出版社", 99.00}, {"深入浅出设计模式", "程杰", "电子工业出版社", 59.00}, {"Effective Java", "Joshua Bloch", "机械工业出版社", 89.00}, {"代码大全", "Steve McConnell", "人民邮电出版社", 79.00} }; model = new DefaultTableModel(rowData, columnNames); // 创建表格并添加到面板中 table = new JTable(model); JPanel panel = new JPanel(); panel.add(new JScrollPane(table)); // 创建按钮并添加到面板中 JButton addButton = new JButton("添加书籍"); addButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { addBook(); } }); panel.add(addButton); JButton deleteButton = new JButton("删除书籍"); deleteButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { deleteBook(); } }); panel.add(deleteButton); add(panel); setVisible(true); } // 添加书籍方法 private void addBook() { // 创建一个新的一行数据 Object[] rowData = {"", "", "", ""}; model.addRow(rowData); // 设置新行可编辑 int rowIndex = model.getRowCount() - 1; int columnIndex = 0; table.editCellAt(rowIndex, columnIndex); table.getSelectionModel().setSelectionInterval(rowIndex, rowIndex); table.getColumnModel().getSelectionModel().setSelectionInterval(columnIndex, columnIndex); table.requestFocusInWindow(); } // 删除书籍方法 private void deleteBook() { int rowIndex = table.getSelectedRow(); if (rowIndex == -1) { JOptionPane.showMessageDialog(this, "请选择要删除的书籍"); return; } model.removeRow(rowIndex); } public static void main(String[] args) { new BookTable(); } } ``` 在这个例子中,我们创建了一个包含四列数据的表格,每一行代表一本书籍。我们使用DefaultTableModel类来创建数据模型,并将其传递给JTable构造函数来创建表格。 我们还添加了两个按钮来实现添加和删除书籍的功能。当点击添加按钮时,我们创建一个新的空行,并将其设置为可编辑。当点击删除按钮时,我们获取当前选中的行,并使用DefaultTableModel类的removeRow方法从数据模型中删除该行。 你可以根据自己的需要来修改这个例子,并添加更多的书籍数据和功能。

相关推荐

最新推荐

recommend-type

Java将数据库的数据展示到JTable表格中

Mysql数据库内容展示写死版 import javax.swing.*; import java.awt.*; import java.sql.*; public class XieSiBan extends JFrame { public static void main(String[] args) { try { // 加载MySql驱动 Class....
recommend-type

java编写创建数据库和表的程序

主要为大家详细介绍了java编写创建数据库和表的程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

Java实验8 数据库.doc

本专栏主要为Java程序设计(基础)实验报告和Java程序设计(进阶)实验报告,基础篇有JAVA环境搭建、Java语言基础、方法和数组、面向对象基础、Java常用类、继承与接口、成员访问控制与异常、JavaFX程序设计、Java...
recommend-type

Java执行SQL脚本文件到数据库详解

主要为大家详细介绍了Java执行SQL脚本文件到数据库的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

Java从数据库中读取Blob对象图片并显示的方法

主要介绍了Java从数据库中读取Blob对象图片并显示的方法,实例分析了Java读取数据库中Blob对象图片的技巧与操作方法,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。