package testui;import javax.swing.*;
import java.awt.*;/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */
import javax.swing.table.*;
import java.util.*;
import java.awt.event.*;public class Frame1 extends JFrame {
  JScrollPane jScrollPane1 = new JScrollPane();
  JTable jTable1 = new JTable();  public Frame1() {
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  public static void main(String[] args) {
    Frame1 frame1 = new Frame1();
    frame1.show();
  }
  private void jbInit() throws Exception {
    setSize(100,200);
    Vector dataV=new Vector();
    Vector rowV;
    for(int i=0;i<100;i++){
      rowV=new Vector();
      rowV.addElement("row "+i);
      dataV.addElement(rowV);
    }
    Vector columV =new Vector();
    columV.addElement("Row");
    DefaultTableModel model = new DefaultTableModel(dataV,columV);
    jTable1.setModel(model);
    this.getContentPane().add(jScrollPane1, BorderLayout.CENTER);
    final JTextField field = new JTextField();
    field.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent e){
       int row = Integer.parseInt(field.getText());
      scrollToRow(row,jTable1);
     }
    });
    this.getContentPane().add(field, BorderLayout.SOUTH);    jScrollPane1.getViewport().add(jTable1, null);
  }  public void scrollToRow(int row,JTable table){
    int value = jTable1.getRowHeight()*row+1;
    ((JScrollPane)jTable1.getParent().getParent()).getVerticalScrollBar().setValue(value);
  }
}