2017-02-22 3 views
0

큰 문제가 있습니다. 내 코드 :Java는 ObservableList의 문자열 및 객체와 같습니다.

TablePosition pos = (TablePosition) 
    tableView.getSelectionModel().getSelectedCells().get(0); 
Object item = tableView.getItems().get(pos.getRow()); 
Object e = ((List<ObservableList>) item).get(0); 
String new_status = "textExample"; 

그리고 어떻게 동등을 사용할 수 있습니까? new_status.equals(e)? 나는 이것을 어떻게 변환해야하는지 전혀 모른다.

p.s. 콘솔에서 e = "textExample".

SQL 행을 업데이트하려면이 항목이 필요합니다.

+0

당신이 무엇을 요구하고 있는지 확실하지 않습니다. –

+0

비교하고 싶습니다 : 객체 "e"와 문자열 "new_status" – Light

+0

더 적은 수의 원시 타입을 사용할 수 있습니까? 예 : 당신의'tableView'는'TableView tableView;로 선언되어야합니다. 그러면'item'의 타입은'Something'이 무엇이든간에 (아마'List >') 될 것입니다. 원시 형식을 제거하면 훨씬 쉽게 될 것입니다. \ –

답변

1

선택한 항목을 가져 오려면 getSelectedItems() (또는 최신 선택 만 원하는 경우 getSelectedItem())을 사용할 수 있습니다. 선택한 셀, 테이블 위치 및 행을 사용하여 작업 할 필요가 없습니다.

TableView<ObservableList<String>> (가정 또는 갖고 있지 않을 수도 있음)으로 가정합니다. 다음과 같은 코드가 될 것이다, 선택된 행 (첫 번째 열에 표시 아마 값)의 첫 번째 요소의 값을 검색 할 수 있습니다 : 당신의 타입 정의로

final String NEW_STATUS = "textExample"; 

    final TableView<ObservableList<String>> tableView = new TableView<>(); 
    final ObservableList<String> selectedItem = 
      tableView.getSelectionModel().getSelectedItem(); 

    if (selectedItem != null 
      && !selectedItem.isEmpty() 
      && NEW_STATUS.equals(selectedItem.get(0))) { 
     // do work here. 
    } 

다를 수 있습니다 코드를 적용해야 할 수도 있습니다 필요에 따라 상황에 맞게 그래도 문제가 해결되지 않으면 질문을 편집하여 mcve을 제공하여 추가 지원을 받아야합니다.