내 행의 높이를 동적으로 변경하는 데 문제가 있습니다. 과부하가 필요한 방법이 있습니까?JTable 동적으로 행 높이 변경
--Edit--
그것이 짧은 게시물에 대한 죄송합니다 처음으로 .... 내 문제는 내용에 따라 행 높이 변경과는 정말이었다. 그래서 지금까지 내가 한 것은 TabelCellRenderer를 구현하는 내부 클래스로 만들어졌습니다.
이것은 내가 행 높이 계산을 위해 지금하고있는 일입니다.
private static class TextAreaRenderer extends JTextPane implements TableCellRenderer
{
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected,
boolean hasFocus, int row,
int column)
{
/* Setup Code here */
this.setText(((String)value).getEntityName());
int height = new Double(this.getPreferredSize().getHeight()).intValue();
if (table.getRowHeight(row) < height)
table.setRowHeight(row, height);
/* some more code */
return this;
}
}
이이 작업을 수행하는 올바른 방법이 될 것인가? 감사합니다. .
아니요, 렌더러는 테이블 행의 높이를 변경해서는 안됩니다. 데이터가 모델에 추가되면이 작업을 수행해야합니다. 즉, 테이블을 만들 때 계산을 수행합니다. 그런 다음 TableModelListener를 사용하여 데이터 변경 내용을 수신 한 다음 계산을 다시 실행합니다. – camickr
데이터와 뷰 레이어를 구분할 수있어 훨씬 더 나은 솔루션입니다. 또한 그때 난 단지 한 곳에서 코드를 가지고 있고 테이블 레이아웃을 변경할 때마다 업데이트 코드를 작성하는 것에 대해 걱정하지 않아도됩니다. – kohlerfc
@camickr의 경우 데이터는 뷰와는 아무런 관련이 없습니다. 모델에 데이터를 추가 할 때 높이 행을 어떻게 계산해야합니까? 모델과 데이터는 뷰와 독립적이어야합니다. ** IS ** 실제로 위젯이 표시 될 어떤 데이터를 맞추는 방법에 대한 계산을 수행해야하는 디자인의보기 부분입니다. 나는 그것이 렌더러가되어야한다고 말하고있는 것이 아니라, 모델이 확실히해서는 안된다. – Sebastian