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

JTable选择更改事件处理:动态查找源表

在软件开发中,JTable是Java Swing库中的一个组件,用于在表格中显示数据。JTable的选择更改事件处理是指当用户更改表格中的选择时触发的事件。要处理这个事件,可以使用Java的事件监听器机制。

以下是一个简单的示例代码,演示如何处理JTable的选择更改事件:

代码语言:java
复制
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import java.awt.*;
import java.awt.event.ListSelectionEvent;
import java.awt.event.ListSelectionListener;

public class JTableExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("JTable Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 创建表格数据模型
        String[] columnNames = {"姓名", "年龄", "性别"};
        Object[][] data = {
                {"张三", 20, "男"},
                {"李四", 25, "女"},
                {"王五", 30, "男"}
        };
        TableModel model = new DefaultTableModel(data, columnNames);

        // 创建表格
        JTable table = new JTable(model);

        // 添加选择更改事件监听器
        table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
            @Override
            public void valueChanged(ListSelectionEvent e) {
                if (!e.getValueIsAdjusting()) {
                    int selectedRow = table.getSelectedRow();
                    if (selectedRow != -1) {
                        String name = (String) table.getValueAt(selectedRow, 0);
                        int age = (int) table.getValueAt(selectedRow, 1);
                        String gender = (String) table.getValueAt(selectedRow, 2);
                        System.out.println("选中的行:姓名=" + name + ", 年龄=" + age + ", 性别=" + gender);
                    }
                }
            }
        });

        // 将表格添加到滚动窗格中
        JScrollPane scrollPane = new JScrollPane(table);
        frame.add(scrollPane, BorderLayout.CENTER);

        // 设置窗口大小并显示
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

在这个示例中,我们创建了一个包含三列数据的表格,并添加了一个选择更改事件监听器。当用户选择表格中的一行时,事件监听器会打印出选中行的数据。

关于JTable的更多信息,可以参考Java官方文档:https://docs.oracle.com/javase/tutorial/uiswing/components/table.html

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

相关·内容

没有搜到相关的沙龙

领券