import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
import java.util.*;
public class JTableDemo7 implements ActionListener{
JTable table = null;
DefaultTableModel defaultModel = null;
JButton button1,button2,button3,button4;
int count = 1;
public JTableDemo7(){
JFrame jf = new JFrame();
String[] name = {"1","2","3"};
String[][] data = new String[3][3];
int value = 1;
for(int i=0;i<data.length;i++){
for(int j=0;j<data[i].length;j++){
data[i][j] = String.valueOf(value++);
}
}
defaultModel = new DefaultTableModel(data,name);
table = new JTable(defaultModel);
table.setPreferredScrollableViewportSize(new Dimension(300,400));
JScrollPane scrollPane = new JScrollPane(table);
JPanel panel = new JPanel();
button1 = new JButton("add new column");
panel.add(button1);
button1.addActionListener(this);
button2 = new JButton("add new row");
panel.add(button2);
button2.addActionListener(this);
panel.add(button2);
button3 = new JButton("delete row");
button3.addActionListener(this);
panel.add(button3);
button4 = new JButton("delete column");
button4.addActionListener(this);
panel.add(button4);
Container contentPane = jf.getContentPane();
contentPane.add(panel,BorderLayout.NORTH);
contentPane.add(scrollPane,BorderLayout.CENTER);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String...args){
new JTableDemo7();
}
@Override
public void actionPerformed(ActionEvent e){
if(e.getSource()==button1){//增加列
defaultModel.addColumn("NewColumn"+count++);
}
if(e.getSource()==button2){//增加行
defaultModel.addRow(new Vector());
}
if(e.getSource()==button4){//刪除列
int columnCount = defaultModel.getColumnCount()-1;
if(columnCount>=0){
TableColumnModel columnModel = table.getColumnModel();
TableColumn tableColumn = columnModel.getColumn(columnCount);
columnModel.removeColumn(tableColumn);
defaultModel.setColumnCount(columnCount);
}
}
if(e.getSource()==button3){//刪除行
int rowCount = defaultModel.getRowCount()-1;
if(rowCount>=0){
defaultModel.removeRow(rowCount);
defaultModel.setRowCount(rowCount);
}
}
table.revalidate();
}
}
分享到:
相关推荐
**JTable 增删改查详解** 在Java Swing中,`JTable`是一个非常重要的组件,用于展示数据集,并支持用户进行交互操作,如增、删、改、查等。`JTable`通常与数据库结合使用,通过`JDBC`(Java Database Connectivity...
**JTable的增删改查**是Java Swing中一个重要的组件使用场景,它在桌面应用开发中被广泛用于展示和操作表格数据。JTable是Java的javax.swing.JTable类的实例,它提供了用户交互的界面,使得用户能够查看、编辑、添加...
//JTable jTable1 = new JTable(); public JTable jTable1=null; private JTree jTree1; DefaultTableModel mode; private JScrollPane scrollPane = null; DefaultMutableTreeNode node; JButton[] btn={...
JTable 数据库基本操作多行增删改查 JTable 是 Java 中一个常用的表格控件,用于显示和编辑表格数据。在 JTable 中,数据是通过TableModel 来管理的。下面将详细介绍 JTable 数据库基本操作多行增删改查的知识点。 ...
JTable增加删除按钮实例,用于java开发
在“Jtable_同一表格内实现增删改查.rar”这个压缩包中,我们很显然会探讨如何在Java Swing应用中利用JTable进行数据库操作,特别是针对MySQL 8.0数据库的增(Add)、删(Delete)、改(Modify)和查(Query)操作。...
本主题主要探讨如何通过图形用户界面(GUI)实现数据库的增、删、改的可视化操作,以及相关的编程技术和工具,特别是使用Java语言的情况。 GUI界面设计的目标是提供直观且友好的操作环境,使得用户可以通过点击、...
在Java Swing库中,`JTable`是一个非常重要的组件,用于在GUI应用程序中展示二维数据。它是基于模型-视图-控制器(MVC)架构设计的,使得数据操作变得灵活且易于管理。本篇文章将深入探讨`JTable`如何操作单元格、行...
在Java编程中,连接MySQL数据库并实现GUI图形界面的增删改查功能是一项常见的任务,尤其在开发桌面应用时。这个任务涉及到多个知识点,包括Java的数据库连接、Swing或JavaFX图形界面库的使用、SQL语言以及多线程处理...
在这个"java swing 增删改查"的小项目中,我们可以推测开发者利用Swing 创建了一个简单的数据库操作应用,允许用户对数据进行添加、删除、修改和查询。 在Java Swing中,主要涉及以下几个核心知识点: 1. **容器与...
本教程将围绕“Java+Swing入门级增删改查源码”这一主题,介绍如何使用Swing构建一个简单的数据管理应用。 首先,Swing中的组件是轻量级的,这意味着它们完全由Java代码实现,不依赖于操作系统底层的图形库。这使得...
在Java Swing库中,`JTable`是一个非常重要的组件,用于展示二维数据表格。当我们需要在`JTable`中实现更复杂的交互,比如在一个单元格内放置多个按钮时,这通常涉及到自定义`TableCellRenderer`和`TableCellEditor`...
在Java Swing中,`JTable` 是用于展示二维数据的组件,它允许用户查看和编辑数据。本示例探讨如何在`JTable`中添加`CheckBox`,并实现表头的`JCheckBox`全选联动功能。这在需要用户进行多选操作的界面中非常常见,...
封装JTable同时锁定多行多列效果,通过多层布局实现,不需要多个数据集,使用简单,不用对现有代码做改动。
在这个基于Java Swing开发的学生信息管理系统中,我们看到了一套完整的功能实现,包括增、删、改、查以及用户登录和注册。这个系统利用了Java的面向对象特性,通过Javabean来封装数据,Swing来构建图形用户界面(GUI...
JTable中加入复选框的两种方法 在Java中,JTable是一个常用的表格控件,用于显示和编辑表格数据。然而,在JTable中加入复选框是一个常见的需求,但是却不是那么容易实现。本文将介绍JTable中加入复选框的两种方法,...
通过以上步骤,我们可以实现从Excel文件中读取数据,并将它们复制到JTable中,同时还能支持JTable的行列增删功能。在实际开发中,可能还需要处理异常、错误处理和用户体验优化等问题,确保程序的稳定性和易用性。
JTable使用 JTable使用JTable使用JTable使用
本示例通过Java实现了对学生表的增删改查(CRUD)功能,这通常涉及到Java的JDBC(Java Database Connectivity)技术以及可能的GUI(图形用户界面)设计。下面我们将详细探讨这些知识点。 首先,`使用java建立简单...
### Java连接数据库增删改查知识点详解 #### 数据库连接 - DBConnection类解析 在Java中,连接数据库是一项基础但至关重要的操作。`DBConnection`类是实现这一目标的关键组件,它封装了与SQL Server 2000数据库...