Java 如何仅选择jtable中每行的第一个单元格,一次选择一个单元格,而不能选择其他单元格

Java 如何仅选择jtable中每行的第一个单元格,一次选择一个单元格,而不能选择其他单元格,java,swing,jtable,row,Java,Swing,Jtable,Row,如何仅选择jtable中每行的第一个单元格,一次选择一个,而不能选择其他单元格 我的代码是: jTable5.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e){ int i=jTable5.getSelectedColumn(); System.out.println(i); if(i==0) { jTa

如何仅选择jtable中每行的第一个单元格,一次选择一个,而不能选择其他单元格

我的代码是:

        jTable5.addMouseListener(new MouseAdapter() {
          public void mouseClicked(MouseEvent e){

    int i=jTable5.getSelectedColumn();
    System.out.println(i);
    if(i==0)
    {  
        jTable5.setCellSelectionEnabled(true);
         jTable5.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);

    }
    else{
        jTable5.setCellSelectionEnabled(false);
    }
}
}))


但是,在第二列的单元格上移动时,它首先选择该单元格,然后取消选择该单元格

首先,禁用行选择:

setRowSelectionAllowed(false);
其次,创建SelectionListener,它总是将所选内容移动到行的第一列:

ListSelectionListener listerner = new ListSelectionListener() {
    @Override
    public void valueChanged(ListSelectionEvent e) {
          setColumnSelectionInterval(0, 0);
       }
    };
最后,将侦听器添加到表的列选择模型中

getColumnModel().getSelectionModel().addListSelectionListener(listerner);

请尝试我尝试过的编码方式。您能提出更好的建议吗?一个问题是,我希望一次只选择一个单元格。然后将选择模式设置为SINGLE_selection,就像您在代码片段中所做的那样