if (e.getSource() == updateButton) { // 获取当前行的数据,并在新的窗口中显示数据的详细信息 String id = tableModel.getValueAt(selectedRow, 0).toString(); String titleName = tableModel.getValueAt(selectedRow, 1).toString(); String status = tableModel.getValueAt(selectedRow, 2).toString(); String createTime = tableModel.getValueAt(selectedRow, 3).toString(); String updateTime = tableModel.getValueAt(selectedRow, 4).toString(); JOptionPane.showMessageDialog(this, "详细信息:\n" + "id:" + id + "\n材料类型:" + titleName + "\n状态:" + status + "\n创建时间:" + createTime + "\n更改时间:" + updateTime); } 将这段该成即可展示也可以输入信息修改的
时间: 2024-03-21 07:38:29 浏览: 66
代码,您的意思是将这段展示数据的代码改成既能展示数据,又能够修改数据的代码,对吗?
如果是这样的话,我们可以在展示数据的窗口中增加一些文本框和按钮,用于用户输入和保存修改后的数据。具体代码如下:
```
if (e.getSource() == updateButton) {
// 获取当前行的数据,并在新的窗口中显示数据的详细信息
String id = tableModel.getValueAt(selectedRow, 0).toString();
String titleName = tableModel.getValueAt(selectedRow, 1).toString();
String status = tableModel.getValueAt(selectedRow, 2).toString();
String createTime = tableModel.getValueAt(selectedRow, 3).toString();
String updateTime = tableModel.getValueAt(selectedRow, 4).toString();
// 创建新的窗口,用于展示和修改数据
JFrame updateFrame = new JFrame("修改数据");
updateFrame.setSize(400, 300);
updateFrame.setLayout(new GridLayout(6, 2));
// 在窗口中添加文本框和标签,用于展示和修改数据
JLabel idLabel = new JLabel("id:");
JTextField idField = new JTextField(id);
JLabel nameLabel = new JLabel("材料类型:");
JTextField nameField = new JTextField(titleName);
JLabel statusLabel = new JLabel("状态:");
JTextField statusField = new JTextField(status);
JLabel createTimeLabel = new JLabel("创建时间:");
JTextField createTimeField = new JTextField(createTime);
JLabel updateTimeLabel = new JLabel("更改时间:");
JTextField updateTimeField = new JTextField(updateTime);
// 在窗口中添加保存按钮,用于保存修改后的数据
JButton saveButton = new JButton("保存");
saveButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 获取用户输入的数据
String newId = idField.getText();
String newName = nameField.getText();
String newStatus = statusField.getText();
String newCreateTime = createTimeField.getText();
String newUpdateTime = updateTimeField.getText();
// 更新表格数据模型中的数据
tableModel.setValueAt(newId, selectedRow, 0);
tableModel.setValueAt(newName, selectedRow, 1);
tableModel.setValueAt(newStatus, selectedRow, 2);
tableModel.setValueAt(newCreateTime, selectedRow, 3);
tableModel.setValueAt(newUpdateTime, selectedRow, 4);
// 关闭窗口
updateFrame.dispose();
}
});
// 在窗口中添加取消按钮,用于关闭窗口
JButton cancelButton = new JButton("取消");
cancelButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
updateFrame.dispose();
}
});
// 将组件添加到窗口中
updateFrame.add(idLabel);
updateFrame.add(idField);
updateFrame.add(nameLabel);
updateFrame.add(nameField);
updateFrame.add(statusLabel);
updateFrame.add(statusField);
updateFrame.add(createTimeLabel);
updateFrame.add(createTimeField);
updateFrame.add(updateTimeLabel);
updateFrame.add(updateTimeField);
updateFrame.add(saveButton);
updateFrame.add(cancelButton);
// 显示窗口
updateFrame.setVisible(true);
}
```
这段代码中,我们创建了一个新的窗口,用于展示和修改数据。在窗口中添加了文本框和标签,用于展示和修改数据。还添加了保存按钮和取消按钮,用于保存修改后的数据和关闭窗口。当用户点击保存按钮时,我们获取用户输入的数据,更新表格数据模型中的数据,并关闭窗口。
阅读全文