java 表格 列删除_java怎么实现表格的行删除

这篇博客介绍了如何在Java中使用DefaultTableModel进行表格的行删除操作。通过创建JFrame,设置表格模型,监听鼠标事件,实现点击表格时获取选中行并删除的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

展开全部

java中表格636f707962616964757a686964616f31333337396331的删除是通过事件监控来实现的,示例代码如下:

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.JTextField;

import javax.swing.ListSelectionModel;

import javax.swing.table.DefaultTableModel;

//维护表格

public class JTableDefaultTableModelTest extends JFrame{

private DefaultTableModel tableModel; //表格模型对象

private JTable table;

private JTextField aTextField;

private JTextField bTextField;

public JTableDefaultTableModelTest()

{

super();

setTitle("表格");

setBounds(100,100,500,400);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

String[] columnNames = {"A","B"}; //列名

String [][]tableVales={{"A1","B1"},{"A2","B2"},{"A3","B3"},{"A4","B4"},{"A5","B5"}}; //数据

tableModel = new DefaultTableModel(tableVales,columnNames);

table = new JTable(tableModel);

JScrollPane scrollPane = new JScrollPane(table); //支持滚动

getContentPane().add(scrollPane,BorderLayout.CENTER);

//jdk1.6

//排序:

//table.setRowSorter(new TableRowSorter(tableModel));

table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); //单选

table.addMouseListener(new MouseAdapter(){ //鼠标事件

public void mouseClicked(MouseEvent e){

int selectedRow = table.getSelectedRow(); //获得选中行索引

Object oa = tableModel.getValueAt(selectedRow, 0);

Object ob = tableModel.getValueAt(selectedRow, 1);

aTextField.setText(oa.toString()); //给文本框赋值

bTextField.setText(ob.toString());

}

});

scrollPane.setViewportView(table);

final JPanel panel = new JPanel();

getContentPane().add(panel,BorderLayout.SOUTH);

panel.add(new JLabel("A: "));

aTextField = new JTextField("A4",10);

panel.add(aTextField);

panel.add(new JLabel("B: "));

bTextField = new JTextField("B4",10);

panel.add(bTextField);

final JButton addButton = new JButton("添加"); //添加按钮

addButton.addActionListener(new ActionListener(){//添加事件

public void actionPerformed(ActionEvent e){

String []rowValues = {aTextField.getText(),bTextField.getText()};

tableModel.addRow(rowValues); //添加一行

int rowCount = table.getRowCount() +1; //行数加上1

aTextField.setText("A"+rowCount);

bTextField.setText("B"+rowCount);

}

});

panel.add(addButton);

final JButton updateButton = new JButton("修改"); //修改按钮

updateButton.addActionListener(new ActionListener(){//添加事件

public void actionPerformed(ActionEvent e){

int selectedRow = table.getSelectedRow();//获得选中行的索引

if(selectedRow!= -1) //是否存在选中行

{

//修改指定的值:

tableModel.setValueAt(aTextField.getText(), selectedRow, 0);

tableModel.setValueAt(bTextField.getText(), selectedRow, 1);

//table.setValueAt(arg0, arg1, arg2)

}

}

});

panel.add(updateButton);

final JButton delButton = new JButton("删除");

delButton.addActionListener(new ActionListener(){//添加事件

public void actionPerformed(ActionEvent e){

int selectedRow = table.getSelectedRow();//获得选中行的索引

if(selectedRow!=-1) //存在选中行

{

tableModel.removeRow(selectedRow); //删除行

}

}

});

panel.add(delButton);

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

JTableDefaultTableModelTest jTableDefaultTableModelTest = new JTableDefaultTableModelTest();

jTableDefaultTableModelTest.setVisible(true);

}

}

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值