2014-02-12 1 views
0

을 추가 할 때까지 나는로 설정되어 JTable 있습니다열의 사용자 크기 조정을 존중 JTable의 - 새 행이

사용자가 컬럼의 너비를 조정
theTable.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS); 

새로운 행이 추가 될 때까지 그 폭을 존중를 테이블에. 이 시점에서 모든 열은 원래 폭으로 되돌아갑니다.

디버거에서 사용자가 너비를 조정하고 minWidthmaxWidth이 적절한 값으로 설정되면 열의 preferredWidth이 변경됩니다. 새로운 행이 추가 된 후 어느 시점에서 preferredWidth은 원래 테이블을 그릴 때 사용 된 값으로 되돌려집니다.

새 행을 추가 한 후 사용자가 조정 한 열 너비를 테이블에서 존중하도록하려면 어떻게해야합니까?

+0

없이 모든 학문이다. – Aarav

답변

2

JTable의 기본 이유는 테이블의 기본 구조가 변경되었다고 생각하기 때문입니다.

은 테이블 모델 ( JTable#setModel) 변경되거나 열 모델 ( JTable#setColumnModel를) 변경 될 때 발생하거나 AbstractTableModel에서 확장하거나 그렇지 않으면 TableModelEvent.HEADER_ROW 이벤트가 트리거되는 원인 원인 TableModel 내에서 tableStructureChanged를 호출 할 수 있습니다 ...

이것은 물론, 그렇게 변경은 또한 후`preferredWidth`를 사용하려고 가져옵니다 테이블 모델에 행을 추가 한 후 MCVE

관련 문제