addPointerPressedListener 无法在 Table 上工作
addPointerPressedListener not working on Table
我的表单中有一个包含很多值的 table 组件。我希望在单击 table 中的每个单元格时弹出一个窗口以显示一些信息。我为此写了一个代码:
dataTable.addPointerPressedListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
Label c = (Label) dataTable.getClosestComponentTo(evt.getX(), evt.getY());
Dialog.show("Artifact", information, "Ok", null);
}
});
此方法仅适用于最后一行和最后一列,也不能选择正确的单元格(最近的单元格)。我想要的是在 table 中单击时选择正确的单元格。执行此操作的替代方法是什么?
我尝试了另一种方法。代码是
@Override
public void addPointerPressedListener(ActionListener l) {
l = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
Label c = (Label) getClosestComponentTo(evt.getX(), evt.getY());
Dialog.show("Popup", c.getText(), "Ok", null);
}
};
super.addPointerPressedListener(l);
}
两种方式我都遇到了问题。它仅在外部细胞和特定点起作用。
table 是一个 Container
,其中每个单元格本身就是一个组件。要跟踪单个单元格,您可以覆盖 table 中的 createCell
方法并跟踪从那里返回的组件。
我的表单中有一个包含很多值的 table 组件。我希望在单击 table 中的每个单元格时弹出一个窗口以显示一些信息。我为此写了一个代码:
dataTable.addPointerPressedListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
Label c = (Label) dataTable.getClosestComponentTo(evt.getX(), evt.getY());
Dialog.show("Artifact", information, "Ok", null);
}
});
此方法仅适用于最后一行和最后一列,也不能选择正确的单元格(最近的单元格)。我想要的是在 table 中单击时选择正确的单元格。执行此操作的替代方法是什么?
我尝试了另一种方法。代码是
@Override
public void addPointerPressedListener(ActionListener l) {
l = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
Label c = (Label) getClosestComponentTo(evt.getX(), evt.getY());
Dialog.show("Popup", c.getText(), "Ok", null);
}
};
super.addPointerPressedListener(l);
}
两种方式我都遇到了问题。它仅在外部细胞和特定点起作用。
table 是一个 Container
,其中每个单元格本身就是一个组件。要跟踪单个单元格,您可以覆盖 table 中的 createCell
方法并跟踪从那里返回的组件。