본문 바로가기

JavaFX

[JavaFX] JavaFX TableView Mouse Double Click Event 마우스 더블클릭 이벤트

JavaFX TableView Mouse Double Click Event

 

JavaFX에서 TableView에 사용자 Data를 조회해서 넣고 테이블 row를 더블클릭할 때 이벤트를 발생시키고 싶었다.

하지만 JavaFX에서 OnMouseClicked 이벤트는 있는데 더블클릭 이벤트가 보이지 않는다.

그래서 어쩔 수 없이 마우스 클릭 이벤트 발생 시 event에 getClickedCount() 이벤트가 1보다 클면 더블클릭으로 간주하고

이벤트를 처리했다.

tableView.getSelectionModel().getSelectedItem().getUserId();

테이블에서 선택한 셀의 모델의 가져와서 사용자 아이디 정보를 뽑아낼 수 있다.

@FXML
private TableView<UserVO> tableView;

@Override
public void initialize(URL location, ResourceBundle resources) {
  tableView.setOnMouseClicked(new EventHandler<MouseEvent>() {
    @Override
    public void handle(MouseEvent event) {
      if(event.getClickCount() > 1) {
        System.out.println(tableView.getSelectionModel().getSelectedItem().getUserId());
      }
    }
  }
}
public class UserVO{
  @Id
  private String userId;
  
  public void setUserId(String userId){
    this.userId = userId;
  }
  
  public String getUserId() {
    return userId;
  }
}