检测JTable行中对象的策略通常涉及到监听JTable的行选择事件,以便在用户选择某一行时执行相应的操作。以下是一个简单的示例,展示了如何实现这个策略:
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class JTableRowListener {
public static void main(String[] args) {
JFrame frame = new JFrame("JTable Row Listener Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 200);
String[] columnNames = {"Name", "Age", "City"};
Object[][] data = {
{"John", 25, "New York"},
{"Jane", 30, "Los Angeles"},
{"Bob", 20, "Chicago"},
{"Alice", 35, "Houston"}
};
TableModel tableModel = new DefaultTableModel(data, columnNames);
JTable table = new JTable(tableModel);
table.getSelectionModel().addListSelectionListener(new RowListener(table));
JScrollPane scrollPane = new JScrollPane(table);
frame.add(scrollPane, BorderLayout.CENTER);
frame.setVisible(true);
}
static class RowListener implements ListSelectionListener {
private JTable table;
public RowListener(JTable table) {
this.table = table;
}
@Override
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting()) {
int selectedRow = table.getSelectedRow();
if (selectedRow != -1) {
System.out.println("Selected row: " + selectedRow);
// 在此处执行相应的操作
}
}
}
}
}
在这个示例中,我们创建了一个简单的JTable,并添加了一个监听器来监听行的选择事件。当用户选择某一行时,监听器会输出选中行的索引。您可以根据需要修改这个策略,以便在选择行时执行所需的操作。
腾讯云湖存储专题直播
DBTalk
Techo Day
DB-TALK 技术分享会
Elastic 实战工作坊
Elastic 中国开发者大会
数字化产业研学汇第三期
高校开发者
领取专属 10元无门槛券
手把手带您无忧上云