2014-05-10 1 views
1

Hej. 데이터가있는 모음이 있습니다.ArrayList 및 jTableModel과의 관계

static ArrayList<MyBeans> all = new ArrayList<MyBeans>(); 

jFrame에서이 테이블을 호출하는 jTableModel도 있습니다.

TableModel model = new Table(all); 
JTable table = new JTable(model); 

예를 들어 어느 순간 ArrayList<MyBeans> all이 변경되었습니다. 이 표를 바꾸려면 어떻게해야합니까?

+1

http://docs.oracle.com/javase/tutorial/uiswing/components/table.html –

+1

테이블 모델 자체를 변경해야합니다. 데이터 핵이 바뀌면 적절한 알림 이벤트를 시작하십시오. –

답변

0

경우 당신은 당신이 결코해야 ArrayList를 직접 변경하려고하는 TableModel 내의 핵이며, 다음 문제가있다 (하지 정적이해야하는 방식으로)하는 모든 ArrayList<MyBeans> . 그 대신에, TableModel의 public 메소드를 호출하는 것만으로 변경을 실시 할 필요가 있습니다. 이러한 메소드는 등록 된 청취자 (여기에서는 표시된 JTable 자체)에 모델의 변경을 통지하는 적절한 AbstractTableModel 통지 메소드를 트리거 할 필요가 있습니다.