你不是有个JTable的事例吗?例如:JTable t=new JTable();我想用这两个最好:
t.addMouseListener(MouseListener);
t.addMouseMotionListener(MouseMontionLister);
在这两个事件里实现最好,因为valuechnged()只要你的value变了,无论你点不点表中的记录,JTextField里的value都会该变.你不防试试我告诉你的方法.ok?

解决方案 »

  1.   

    定義一個TableColumn 
    TableColumn myColumn = table.getColumnModel().getColumn(2);
    JTextField myTextField = new JTextField();
    myColumn.setCellEditor(new DefaultCellEditor(myTextField ));
    就把myTextField加到table中去了取值就自己取吧,很容易的
      

  2.   

    其实是很简单的,你不要用swing这个控件,用dbswing,
    将JTable改成 JdbTable ,将JTextField改成JdbTextField,另外在用上database Express中间database控件进行数据库连接.
    将jdbTextField与对应的字段进行绑定,那么就可以了
    其实这就是数据感知控件的用法,至于具体的你可以参考一些相关的书,关于数据感知控件的,非常简单与轻松.
      

  3.   

    刚才开会去了,迟复为歉。
    我的代码没错,给table的selectionModel添加监听器(用一个匿名内部类来实现),监听器实现了valueChanged方法,在valueChanged方法中处理逻辑
    只不过String value = (String)table.getValueAt(table.getSelectedRow(), 0) //选中行的第一个字段 里少写了一个;号倒是真的
      

  4.   

    且不管你用哪种,我仔细看了你贴出来的代码,是你写错了。valueChanged方法是ListSelectionListener接口下须重载的方法,所以你须将代码改正如下:
    第一段:
    table.getSelectionModel().addListSelectionListener(
    new ListSelectionListener() {
      public void valueChanged (ListSelectionEvent e) {
        doSelectShow(e);//此方法做你想做的事情
      }
    });
    第二段,自定义doSelectShow方法
    void doSelectShow(ListSelectionEvent e) {
      if (!e.getValueIsAdjusting()) {
        String value = (String)table.getValueAt(table.getSelectedRow(), 0);
        //选中行的第一个字段
        jTextField1.setText(value);
      }
    }这样就不会出错了
      

  5.   

    to 逍遥思辨
    是我的失误,你的确实可以,但是(string)那块报错,我查了一下,如果数据类型在数据库中的不是string,你这样造型不行,得用.toString();
    to 绿色咖啡
    你的也行。谢谢你帮助我理解了如果模仿事件……
    to other
    大家都帮忙了,我都给分……我再加点分……早说过了,分不是问题