Java 如何仅选择jtable中每行的第一个单元格,一次选择一个单元格,而不能选择其他单元格
如何仅选择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
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,就像您在代码片段中所做的那样