突出显示特定的行"person",表格旁边的"文本区域"将显示有关该人的一些文本"row"..,并且与每行不同..!



我使用TableModel制作了Jtable,切换到Arraylist中的Persons(姓名、年龄等)数据。我需要的是,当我高亮显示某一特定行"person"时,表旁边的TextArea将显示有关该人"row"的一些文本。。,每一排都不一样。。!

我制作了jTable1MousePressed,并尝试了一些代码,但我不知道如何选择确切的行。。有了这个getSelectedRow(),我无法指定我按了哪一行。。!我读过ListSelectionListener,但我不明白!

您可以在表中添加一个鼠标侦听器并获取col/row。显然,根据需要改变价值观以适应您的目的。我用它来确定点击的行和列,以及在哪里显示弹出菜单。

table.addMouseListener(getMouseAdapter());

鼠标适配器的代码:

public MouseAdapter getMouseAdapter() {
return new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
app.setLastClickedComponent(ADVTableOperations.this);
rowClicked = rowAtPoint(e.getPoint());
colClicked = columnAtPoint(e.getPoint());
if (e.isPopupTrigger() && isPopUpEnabled()) {
popUpMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
@Override
public void mouseClicked(MouseEvent e) {
app.setLastClickedComponent(ADVTableOperations.this);
rowClicked = rowAtPoint(e.getPoint());
colClicked = columnAtPoint(e.getPoint());
if (e.isPopupTrigger() && isPopUpEnabled()) {
popUpMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
};
}

最新更新