public class InterfaceCallExample extends JFrame implements ActionListener { private static final long serialVersionUID = 1L; private JButton callButton; private JTable resultTable; private DefaultTableModel tableModel; public InterfaceCallExample() { super("Interface Call Example"); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); callButton = new JButton("查看数据"); callButton.addActionListener(this); panel.add(callButton); add(panel, BorderLayout.NORTH); tableModel = new DefaultTableModel(); tableModel.addColumn("id"); tableModel.addColumn("材料类型"); tableModel.addColumn("状态"); tableModel.addColumn("创建时间"); tableModel.addColumn("更改时间"); resultTable = new JTable(tableModel); add(new JScrollPane(resultTable), BorderLayout.CENTER); } public static void main(String[] args) { InterfaceCallExample example = new InterfaceCallExample(); example.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == callButton) { try { URL url = new URL("http://101.34.120.182:8081/wnapp/productType/getTypeId?category=1&status=0&type="); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String s = reader.readLine(); JSONObject jsonObject = new JSONObject(); JSONObject object = JSONObject.parseObject(s); Object o = object.get("data"); JSONObject object1 = JSONObject.parseObject(o.toString()); ArrayList<Map<String,Object>> list = (ArrayList<Map<String,Object>>) object1.get("list"); for (Map<String,Object> map : list){ String id = map.get("id").toString(); String titleName = map.get("titleName").toString(); String status = map.get("status").toString(); String createTime = map.get("createTime").toString(); String updateTime = map.get("updateTime").toString(); ArrayList<String> strings = new ArrayList<>(); strings.add(id); strings.add(titleName); strings.add(status); strings.add(createTime); strings.add(updateTime); String[] data = strings.toString().replace("[","").replace("]","").split(","); tableModel.addRow(data); } reader.close(); } catch (Exception ex) { ex.printStackTrace(); } } } } 将以上代码获取的每条数据后面添加删除和修改的功能按钮
时间: 2024-03-20 15:43:41 浏览: 18
要添加删除和修改的功能按钮,你需要做以下几步:
1. 在 InterfaceCallExample 类中定义两个 JButton 对象,即 deleteButton 和 editButton。
2. 在构造函数中,创建一个新的 JPanel 对象,将 deleteButton 和 editButton 添加到该面板上,并将面板添加到 JFrame 上。
3. 在 actionPerformed 方法中,为 deleteButton 和 editButton 添加 ActionListener,以响应用户的点击事件。
4. 在 actionPerformed 方法中,根据用户点击的按钮执行相应的操作。例如,如果用户点击了 deleteButton,你需要删除选中的行,如果用户点击了 editButton,你需要打开一个新的窗口,以允许用户编辑所选行的数据。
下面是一个可能的实现示例:
```
public class InterfaceCallExample extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JButton callButton;
private JButton deleteButton;
private JButton editButton;
private JTable resultTable;
private DefaultTableModel tableModel;
public InterfaceCallExample() {
super("Interface Call Example");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
callButton = new JButton("查看数据");
callButton.addActionListener(this);
panel.add(callButton);
deleteButton = new JButton("删除");
deleteButton.addActionListener(this);
panel.add(deleteButton);
editButton = new JButton("修改");
editButton.addActionListener(this);
panel.add(editButton);
add(panel, BorderLayout.NORTH);
tableModel = new DefaultTableModel();
tableModel.addColumn("id");
tableModel.addColumn("材料类型");
tableModel.addColumn("状态");
tableModel.addColumn("创建时间");
tableModel.addColumn("更改时间");
resultTable = new JTable(tableModel);
add(new JScrollPane(resultTable), BorderLayout.CENTER);
}
public static void main(String[] args) {
InterfaceCallExample example = new InterfaceCallExample();
example.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == callButton) {
// 调用接口获取数据
// ...省略代码...
} else if (e.getSource() == deleteButton) {
// 删除选中的行
int[] selectedRows = resultTable.getSelectedRows();
for (int i = selectedRows.length - 1; i >= 0; i--) {
tableModel.removeRow(selectedRows[i]);
}
} else if (e.getSource() == editButton) {
// 打开编辑窗口,允许用户编辑所选行的数据
int selectedRow = resultTable.getSelectedRow();
if (selectedRow >= 0) {
String id = (String) tableModel.getValueAt(selectedRow, 0);
String titleName = (String) tableModel.getValueAt(selectedRow, 1);
String status = (String) tableModel.getValueAt(selectedRow, 2);
String createTime = (String) tableModel.getValueAt(selectedRow, 3);
String updateTime = (String) tableModel.getValueAt(selectedRow, 4);
// ...省略打开编辑窗口的代码...
}
}
}
}
```