import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class TableModelListenerDemo extends JFrame
{
  JPanel contentpane=new JPanel();
  JTable table;
  JScrollPane jScrollPane1=new JScrollPane();
  JTextArea jTextArea1=new JTextArea();
  JScrollPane jScrollPane2=new JScrollPane(jTextArea1);
  
 
public TableModelListenerDemo()
{
  try 
     {jbInit();}
     catch(Exception e){}
}
public static void main(String[] args)
{
  TableModelListenerDemo frame=new TableModelListenerDemo();
  frame.setVisible(true);
}
//当窗口关闭时清空内存
protected void processWindowEvent(WindowEvent e)
{
  if(e.getID()==WindowEvent.WINDOW_CLOSING)
   {
     System.exit(0);
    }
  }
private void jbInit() throws Exception
{
  contentpane=(JPanel)this.getContentPane();
  //设置窗口的标题,大小与布局
 setTitle("ListSelectionListner 程序演示");
 setSize(new Dimension(421,340));
 contentpane.setLayout(null);
 Object[][] data={
    {"小李","男","滑雪",new Integer(20),"英语",new Boolean(true)},
    {"小青","女","保龄球",new Integer(17),"绘画",new Boolean(true)},
    {"小吴","男","跑步",new Integer(23),"管理",new Boolean(true)},
    {"小和","女","演讲",new Integer(25),"会计",new Boolean(false)},
    {"小许","女","游泳",new Integer(15),"数学",new Boolean(false)}
  };
  String[] columnNames={"姓名","性别","爱好","年龄","专业","是否被录取"};
//创建一个简单的表格
  table=new JTable(data,columnNames);
  table.setRowHeight(20);//设置表格的行高度
//当表格的内容改变的时候取得表格的内容
  final TableModel model=table.getModel();
  model.addTableModelListener(new TableModelListener(){
     public void tableChanged(TableModelEvent e)
     {
      //表格的行与列从0开始
       int row=e.getFirsRow();
       int column=e.getColumn();
      //取得列表框的数据
       Object data=model.getValueAt(row,column);
       jTextArea1.append("单元格("+(row+1)+","+(column+1)+")="+data.toString()+"\n");
       table.requestFocus();
       }
     });
//向容器加入各个控件
   jScrollPane1.getViewport().add(table);
   jScrollPane1.setBounds(new Rectangle(19,30,377,142));
   jScrollPane2.setBounds(new Rectangle(21,203,376,105));
   contentpane.add(jScrollPane1,null);
   contentpane.add(jScrollPane1,null);
  }
}
这是全部代码

解决方案 »

  1.   

    你少引入一个包,加上这句就行了:import javax.swing.event.TableModelListener;
      

  2.   

    对,主要就是少了
    import javax.swing.event.TableModelListener;还有这句有问题:
    int row=e.getFirsRow();
    应该是:int row=e.getFirstRow(); 少了个“t”,拼写错误,OK了       
      

  3.   

    public void tableChanged(TableModelEvent e)
    加入了那个包后这句又出了同样的错
      

  4.   

    int row=e.getFirstRow();
    import javax.swing.event.*;推荐使用JB7,你用JB7系统就提示你了我已经编译通过了!逻辑上有没有错我就不知道了