2017-02-22 8 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を提供する必要があります。

関連する問題