java - 单击按钮时选择复选框 JTable 的值

标签 java jtable

我有一个 JTable,其中最后一列是 Checkbox(multiple select)。我想获取在单击特定按钮时选择的行的值。仅需要检查的值。对此有什么想法吗?

Object[] columnNamesTest = {"Request No","Assigned To","Copy Data","Updated Req Number"};
        Object[][] rowDataTest = {
            {"111111", "ABC",false,""},
            {"222222", "XYZ", true,"999999"},
            {"333333", "LMN",true,"444444"},
            {"444444", "PQR", false,"555555"}
        };
     DefaultTableModel model = new DefaultTableModel(rowDataTest, columnNamesTest);
     JTable table = new JTable(model){
         private static final long serialVersionUID = 1L;
          @Override
            public Class getColumnClass(int column) {
                switch (column) {
                    case 0:
                        return String.class;
                    case 1:
                        return String.class;
                    case 2:
                        return Boolean.class;
                    default:
                        return String.class;
                }
            }
             @Override
               public boolean isCellEditable(int row, int column) {
                   //Only the third column
                   return column == 2;
               }

     }; 

    table.setPreferredScrollableViewportSize(table.getPreferredSize());
    JScrollPane scrollPane = new JScrollPane(table);
    scrollPane.setAlignmentX(Component.LEFT_ALIGNMENT);
    container.add(scrollPane);

最佳答案

I want to get the values of the rows selected on a particular button click.Only the values which are checked are needed.

只需检查第三列的值并从 DefaultTableModel 获取所需的值即可。

示例代码:

JButton button = new JButton("Show selcted records");
button.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent arg0) {
        for (int i = 0; i < model.getRowCount(); i++) {
            Boolean value = (Boolean) model.getValueAt(i, 2);// check state
            if (value) {
                System.out.println(model.getValueAt(i, 1));// second column value
            }
        }
    }
});

关于java - 单击按钮时选择复选框 JTable 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25057782/

相关文章:

java - 如何从 JTable 中删除一行,同时将其保留在数据库中

java - JTable,Java

java - 使用 HashMap 将数据输入表中

java - 如何将 jcombobox 添加到 netbeans 中的 jtable 列

java - 如何在 Java 中向下移动表格?

java - Java Swing Socket 中的数据丢失

java - flink - 将值注入(inject) flatmap

java - 为什么我在这里得到 UnfinishedStubbingException?

java - 如何使用扫描仪和模式类匹配文本中的模式?

java - 将eclipse项目打包成jar文件