首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

检测JTable行中对象的策略?

检测JTable行中对象的策略通常涉及到监听JTable的行选择事件,以便在用户选择某一行时执行相应的操作。以下是一个简单的示例,展示了如何实现这个策略:

代码语言:java
复制
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,并添加了一个监听器来监听行的选择事件。当用户选择某一行时,监听器会输出选中行的索引。您可以根据需要修改这个策略,以便在选择行时执行所需的操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券