java 实现点击切换按钮将jtable表格中勾选的一行其中的一个数据更改,然后再将对应文本中存储的数据一起更改代码完整实现
时间: 2024-03-26 11:38:31 浏览: 116
jtable选中需要修改的行
5星 · 资源好评率100%
好的,针对您的问题,我提供以下的 Java 代码实现。您可以将其添加到您的项目中并进行适当的修改以满足您的需求。
```java
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TableDemo extends JFrame implements ActionListener {
private JTable table;
private DefaultTableModel model;
private JButton button;
public TableDemo() {
setTitle("Table Demo");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建表格
String[] columnNames = {"姓名", "性别", "年龄"};
Object[][] rowData = {
{"张三", "男", 20},
{"李四", "女", 22},
{"王五", "男", 25},
{"赵六", "女", 30}
};
model = new DefaultTableModel(rowData, columnNames);
table = new JTable(model);
// 创建按钮
button = new JButton("更改数据");
button.addActionListener(this);
// 将表格和按钮添加到窗口中
JScrollPane pane = new JScrollPane(table);
getContentPane().add(pane, BorderLayout.CENTER);
getContentPane().add(button, BorderLayout.SOUTH);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button) {
int rowIndex = table.getSelectedRow();
if (rowIndex >= 0) {
// 获取选中行的数据
String name = (String) model.getValueAt(rowIndex, 0);
String sex = (String) model.getValueAt(rowIndex, 1);
int age = (int) model.getValueAt(rowIndex, 2);
// 修改数据
age += 1;
model.setValueAt(age, rowIndex, 2);
// 更新文本框中的数据
JOptionPane.showMessageDialog(this, "选中的行为:" + name + "," + sex + "," + age);
} else {
JOptionPane.showMessageDialog(this, "请选择要修改的行");
}
}
}
public static void main(String[] args) {
new TableDemo();
}
}
```
在这个实现中,我们创建了一个 `JTable` 表格和一个 `JButton` 按钮,并将它们添加到窗口中。当用户点击按钮时,我们将获取选中行的数据,并将年龄加一。然后我们将更新表格中的数据和文本框中的数据。
注意这里使用了 `JOptionPane.showMessageDialog()` 方法来显示更新后的数据,您可以根据您的需求进行适当的修改。
阅读全文