问题描述
我创建了一个简单的鼠标事件。当用户单击JTable时,它将获取JTable中的记录并在JTextField中显示它们。在这种情况下,我试图将ID从表显示到文本字段中。
public void fetchRec() {
xtable.addMouseListener(new MouseAdapter() {
public void rowClicked(MouseEvent evt){
xtable =(JTable) evt.getSource();
int row = xtable.rowAtPoint( evt.getPoint() );
int column = xtable.columnAtPoint( evt.getPoint() );
String s=xtable.getModel().getValueAt(row,column)+"";
idLabelField.setText(s);
}
});
}
我在这里调用该方法,但它一直告诉我rowClicked方法尚未使用。我不明白它是如何使用的?除此以外,我正在调用的所有其他功能都可以正常工作。
public void bookDimensions() throws Exception {
addTextLabels();
addTextFields();
addPanelButtons();
addRecord();
addTable();
fetchRec();
}
解决方法
打开单元格选择并收听选择模型,而不是鼠标事件。参见java: how to select only one cell in a jtable and not the whole row