IT_Programming/Java

JTable을 클릭해서 원하는 Cell 정보를 얻어오기

JJun ™ 2007. 6. 25. 18:43

// a column for JTable
private VectorData<String> columnNames = new VectorData<String>(); 


// a data for JTable
private VectorData<VectorData> rowData = new VectorData<VectorData>();

 

// 기본 TableModel 생성하기

private DefaultTableModel defaultTableModel = new DefaultTableModel(rowData, columnNames);
 
JTable filetable = new JTable(defaultTableModel);

//우선 JTable 객체에 MouseListener을 등록시킨 후, mouseClicked메소드를 구현한다.

 

// EventHandler는 몇 가지 EventListener을 구현해 놓은 사용자 정의 Class 이다.

filetable.addMouseListener(new EventHandler());

filetable.setFillsViewportHeight(true);

 

public void mouseClicked(MouseEvent e)


   int selectedIndex;

 

   // 이벤트 발생 소스 가져오기
   JTable jt = (JTable)e.getSource();


   // jt.getSelectedRow() :: JTable에서 클릭된 Row 번호 가져오기

  

  // rowData.get(selectedIndex).get(0)) :: JTable의 RowData에서 원하는 Column의 데이타 가져오기, 0 이니까 첫번재
   if( ( selectedIndex = jt.getSelectedRow() ) != -1 )

   {    
    download((String)(rowData.get(selectedIndex).get(0)), (String)(rowData.get(selectedIndex).get(2)) );  
   }  

 

   // JTable 선택 초기화 하기
   jt.clearSelection();
}