java - 如何从 JTable 的多行中获取值并将其分配给变量?

标签 java sqlite swing jtable

我有一个表(1 列,多行),其中包含书籍名称列表和一个按钮。 什么是正确的选择监听器,以便如果我选择表上的多个行,当我按下按钮时,它会将所选行的值以串联格式分配给变量?

例如,如果我从表中选择项目 1 到 7,它将被分配给变量,如下所示:

String selectedBooks = item1 + item2 + item3...;

我稍后将使用 selectedBooks 的值进行 sqlite 查询。

感谢您的帮助

最佳答案

使用table.getSelectedRows()将返回所选行的索引。然后使用 table.getValueAt(row,column) 方法从特定单元格获取值。

一个小例子:

public class SelectedRowExample extends JFrame {
    public SelectedRowExample() {
        super("");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        DefaultTableModel model = new DefaultTableModel();
        model.addColumn("Column");
        model.addRow(new Object[] { "Hello" });
        model.addRow(new Object[] { "Stack" });
        model.addRow(new Object[] { "Overflow" });
        JTable table = new JTable(model);
        table.getSelectionModel().addListSelectionListener(e -> {
            if (e.getValueIsAdjusting()) {
                StringBuilder sb = new StringBuilder();
                for (int row : table.getSelectedRows()) {
                    sb.append(table.getValueAt(row, 0));
                }
                System.out.println(sb.toString());
            }
        });

        setLayout(new BorderLayout());
        add(table);

        setLocationByPlatform(true);
        pack();
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new SelectedRowExample().setVisible(true));
    }
}

选择“Hello”打印:Hello

选择“Hello”和“World”打印:HelloWorld

选择所有行打印:HelloStackOverflow

关于java - 如何从 JTable 的多行中获取值并将其分配给变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61406113/

相关文章:

sqlite - SQLite DB 的 MIDP Java 实现

java - JButton 来回改变某物的颜色?

JavaFX : Convert Rectangle to a Polygon

linux - sqlite 插入查询未立即提交到数据库

sqlite - Flutter Text ("${sqlite_tbl[0][' body']") 抛出 NoSuchMethodError

基于 Java Swing MVC 的贪吃蛇游戏。问题切换难度

java - 采用 Swing 对话框方法并将其转换为 SWT

java - 如何使用 JAXB (Intellij Idea) 从多个 xsd 生成 Java 类

java - 如何自行删除可执行Jar文件?

java - Bazel 使用 Jackson 注解构建 ser/Deser 并生成 Java 类