java 使用 swing 写一个对列表数据增删改查的页面
时间: 2024-03-20 17:39:18 浏览: 22
好的,以下是一个简单的使用Swing编写的增删改查页面的示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ListDemo extends JFrame implements ActionListener {
private DefaultListModel<String> listModel;
private JList<String> dataList;
private JTextField txtData;
private JButton btnAdd, btnUpdate, btnDelete;
private int selectedIndex;
public ListDemo() {
// 设置窗口标题
setTitle("List Demo");
// 创建一个默认的列表模型
listModel = new DefaultListModel<>();
// 向列表模型中添加一些初始数据
listModel.addElement("Java");
listModel.addElement("Python");
listModel.addElement("C++");
listModel.addElement("JavaScript");
// 创建一个 JList,使用上面的列表模型
dataList = new JList<>(listModel);
// 创建一个 JScrollPane,将 JList 放入其中
JScrollPane scrollPane = new JScrollPane(dataList);
// 创建一个文本框,用于输入数据
txtData = new JTextField(20);
// 创建添加按钮
btnAdd = new JButton("Add");
btnAdd.addActionListener(this);
// 创建更新按钮
btnUpdate = new JButton("Update");
btnUpdate.addActionListener(this);
// 创建删除按钮
btnDelete = new JButton("Delete");
btnDelete.addActionListener(this);
// 创建一个面板,将文本框和按钮放入其中
JPanel inputPanel = new JPanel(new GridLayout(1, 4));
inputPanel.add(new JLabel("Data:"));
inputPanel.add(txtData);
inputPanel.add(btnAdd);
inputPanel.add(btnUpdate);
inputPanel.add(btnDelete);
// 将 JScrollPane 和 inputPanel 放入窗口中
getContentPane().add(scrollPane, BorderLayout.CENTER);
getContentPane().add(inputPanel, BorderLayout.SOUTH);
// 设置窗口大小和关闭操作
setSize(400, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnAdd) {
// 添加数据到列表中
String data = txtData.getText();
if (!data.isEmpty()) {
listModel.addElement(data);
txtData.setText("");
}
} else if (e.getSource() == btnUpdate) {
// 更新列表中的数据
String data = txtData.getText();
if (!data.isEmpty()) {
listModel.setElementAt(data, selectedIndex);
txtData.setText("");
}
} else if (e.getSource() == btnDelete) {
// 删除列表中的数据
int index = dataList.getSelectedIndex();
if (index != -1) {
listModel.remove(index);
txtData.setText("");
}
}
}
public static void main(String[] args) {
ListDemo demo = new ListDemo();
demo.setVisible(true);
}
}
```
这个示例代码实现了一个简单的增删改查页面,其中包括一个用于显示数据的 JList,一个用于输入数据的文本框,以及添加、更新、删除等功能的按钮。你可以根据自己的需要进行修改和扩展。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)