查询jtable中的某个姓名并显示在jtable上的java类
时间: 2024-03-12 16:45:16 浏览: 98
好的,以下是一个简单的Java程序,可以实现查询JTable中某个姓名并将结果显示在JTable上。
```java
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
public class TableSearch extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JTextField searchField;
private JButton searchButton;
private JTable table;
private DefaultTableModel model;
public TableSearch() {
super("Table Search");
// 创建表格模型
model = new DefaultTableModel();
model.addColumn("姓名");
model.addColumn("年龄");
model.addRow(new Object[]{"张三", 25});
model.addRow(new Object[]{"李四", 30});
model.addRow(new Object[]{"王五", 35});
// 创建表格
table = new JTable(model);
// 创建搜索框和搜索按钮
searchField = new JTextField(20);
searchButton = new JButton("搜索");
searchButton.addActionListener(this);
// 创建面板
JPanel searchPanel = new JPanel();
searchPanel.add(searchField);
searchPanel.add(searchButton);
add(searchPanel, BorderLayout.NORTH);
add(new JScrollPane(table), BorderLayout.CENTER);
// 设置窗口属性
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 200);
setLocationRelativeTo(null);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// 获取搜索关键字
String keyword = searchField.getText().trim();
// 清空表格
model.setRowCount(0);
// 遍历表格数据,查找匹配的行
for (int i = 0; i < table.getRowCount(); i++) {
String name = table.getValueAt(i, 0).toString();
if (name.contains(keyword)) {
Object[] row = new Object[]{name, table.getValueAt(i, 1)};
model.addRow(row);
}
}
}
public static void main(String[] args) {
new TableSearch();
}
}
```
这个程序创建了一个包含3行2列数据的JTable,并在窗口中添加了一个搜索框和一个搜索按钮。当用户输入搜索关键字并点击搜索按钮时,程序会遍历JTable中的所有数据,查找匹配的行,并将结果显示在JTable上。
您可以根据自己的需要修改程序中的数据和布局。希望这个程序能够帮助到您。
阅读全文