突出显示一个特定的行" person",表格旁边的`TextArea`将显示一些关于该人的文本" row" ..,并且它与每行不同。 。!

时间:2015-05-12 18:37:24

标签: java swing jtable selecteditem defaulttablemodel

我使用来自Jtable的{​​{1}}女巫查看数据人物(姓名,年龄......来)TableModel,当我突出显示特定行时,我需要的是" person& #34;,表格旁边的Arraylist会显示一些关于该人的文字" row" ..,并且它与每一行不同......!

我做了TextArea并尝试了一些代码,但我无法确定如何选择确切的行..使用此jTable1MousePressed我无法指定我按下的行。 。!我读到getSelectedRow(),但我不理解!

1 个答案:

答案 0 :(得分:1)

您可以向表中添加鼠标侦听器并获取col / row。显然,根据需要更改值以适合您的目的。我用它来确定单击的行和列,以及显示弹出菜单的位置。

table.addMouseListener(getMouseAdapter());

MouseAdaptor的代码:

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());
                }
            }
        };
    }