Java JTable-选定行单击事件

Java JTable-选定行单击事件,java,swing,linked-list,jtable,jtextfield,Java,Swing,Linked List,Jtable,Jtextfield,我有一个通过AbstractTableModel填充linkedlist的Jtable 我要做的是,当我单击(鼠标左键单击)JTable中的一行时,linkedlist将进行搜索(在本例中,它包含电影标题),并在JTextBox中显示链接列表中的值 我该怎么做 这是密码 吉乌格: 可编程表模型: 处理: 主要内容: 我猜它会将所选行中的数据检索到一个数组中,将其拆分,然后将其放入jtextareas。我怎样才能做到这一点呢?我建议使用。这使得将数据结构映射到表模型非常容易 要对JTable上

我有一个通过AbstractTableModel填充linkedlist的Jtable

我要做的是,当我单击(鼠标左键单击)JTable中的一行时,linkedlist将进行搜索(在本例中,它包含电影标题),并在JTextBox中显示链接列表中的值

我该怎么做

这是密码

  • 吉乌格:
  • 可编程表模型:
  • 处理:
  • 主要内容:
我猜它会将所选行中的数据检索到一个数组中,将其拆分,然后将其放入jtextareas。我怎样才能做到这一点呢?

我建议使用。这使得将数据结构映射到表模型非常容易


要对JTable上的鼠标单击做出反应,请使用ActionListener:

要了解选择了哪一行,请添加一个,如示例所示。可以直接从链表的
toArray()
方法构造,您可以向其中添加合适的侦听器以了解详细信息。

您可以使用
鼠标单击事件:

private void tableMouseClicked(java.awt.event.MouseEvent evt) {
 // Do something.
}
我是这样做的:

table.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
        public void valueChanged(ListSelectionEvent event) {
            // do some actions here, for example
            // print first column value from selected row
            System.out.println(table.getValueAt(table.getSelectedRow(), 0).toString());
        }
    });
此代码在鼠标单击和从键盘选择项目时作出反应

 private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                     
     JTable source = (JTable)evt.getSource();
            int row = source.rowAtPoint( evt.getPoint() );
            int column = source.columnAtPoint( evt.getPoint() );
            String s=source.getModel().getValueAt(row, column)+"";

            JOptionPane.showMessageDialog(null, s);


} 

如果您想单击jtable中的单元格或行,请使用这种方式

因此,我尝试了代码,即mouselistener的theo e,在我获取SelectedRow()和getSelectedColumn()后如何存储在数组中?如果您在实现侦听器时遇到问题,请编辑您的问题以包含显示问题的。这只回答了问题中最明显的部分。我提供了类似的答案,希望它能帮助您检查(!e.getValueIsAdjusting()&&table.getSelectedRow()!=-1)是否在System.out.println(table.getValueAt(table.getSelectedRow(),0.toString())之前@罗德里戈加西亚-你能解释一下他们为什么要加那张支票吗?对不起@Ascalonian,我记不起来了,我应该解释得更清楚些。