我有一个树表,我在上面添加了一个 treeSelectionListener。在一行的一个选择中,函数 valueChanged 被调用 4 次。我设法通过检查getOldLeadSelectionPath()
为空来将其控制为 2 倍。
有没有更好的方法将其限制为 1?
treeTable.getTree().addTreeSelectionListener(new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent e) {
if (e.getOldLeadSelectionPath() == null) {
int row = treeTable.getTable().getSelectedRow();
String colGid = treeTable.getTable().getModel().getValueAt(row, 1).toString();
if (treeTable.getTree().getSelectionPath().getPathCount() == 3) {
KPropertyTable columnProperty = createColumnProperty(colGid);
propertyPanel.removeAll();
propertyPanel.add(columnProperty, BorderLayout.CENTER);
propertyPanel.updateUI();
} else {
propertyPanel.removeAll();
propertyPanel.add(new JLabel("Select a column", SwingConstants.CENTER));
}
}
}
});