티스토리 뷰

이번 시간에는 JavaFX Table의 Cell에 Text가 아닌 버튼이나 Control을 추가하는 방법에 대해서 알아보겠습니다.

 


Cell Factory란?

 TableView를 구성하기 위해선 열 데이터를 채우기 위해 TableColumn을 정의하고 추가 해줘야 합니다.

 이때 TableColumn 클래스에서는 Cell Factory를 가지고 있는데 Cell Factory란 아래와 같습니다.

 

Cell Factory란 단일 Table 열에 대해 각 TableCell에 포함 된 데이터를 렌더링합니다. 
기본적으로 TableColumn은 default Cell Factory를 사용하는데, 다른 방식으로 표현하거나 편집을 위해서 사용자 재정의가 가능하다. 

 쉽게 말해서 일반적으로 사용하는 TableColumn에는 default cell factory가 적용되어 있는 상태이기 때문에 기본적인 Text 데이터를 전시 할 수 있는 것이고, 만약 다른 형태의 데이터 (Control)를 전시하고 싶다면 사용자가 cell factory를 재정의할 수 있다는 것입니다.

 

 아래는 Cell에 버튼 여러개를 추가하는 예제 입니다.

 

 예제에서는 Button만을 추가 했지만 목적에 따라서 다른 Control (ComboBox, Image, Spinner 등등)을 넣어주어도 무방합니다.


결과 이미지

반응형
댓글