突出显示特定行 "person",table 旁边的 `TextArea` 将显示有关该人的一些文本 "row"..,并且每一行都不同..!

highlight a specific row "person", a `TextArea` next to the table will show some text about that person "row".., and it's different from each row..!

我使用 TableModel 查看来自 Arraylist 的数据 Persons(name, age..ect) 制作了 Jtable,我需要的是当我突出显示特定的"person" 行,table 旁边的 TextArea 将显示有关该人 "row".. 的一些文本,并且每一行都不同..!

我做了 jTable1MousePressed 并尝试了一些代码,但我无法弄清楚如何 select 确切的行.. 使用这个 getSelectedRow() 我无法指定我的行压..!我读到 ListSelectionListener 但我不明白!

您可以为您添加鼠标侦听器 table 并获得 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());
                }
            }
        };
    }