2017-06-12 52 views
0

我對怎樣才能點擊工人TableView行,在下面的Scene更新文本Lables在點擊的TableView行設置文本標貼

enter image description here

這是我將文本標貼的方法,但我不知道如何將它們綁定在一起。

@FXML private void rowSelected(){ 
    selectedItems = radniciTabela.getSelectionModel().getSelectedItem(); 
    ime.setText(selectedItems.getIme()); 
    prezime.setText(selectedItems.getPrezime()); 
    godine.setText(selectedItems.getGodište()); 
    grad.setText(selectedItems.getGrad()); 
    adresa.setText(selectedItems.getAdresa()); 
    telefon.setText(selectedItems.getTelefon()); 
    email.setText(selectedItems.getMejl());} 

回答

1

您不必使用那裏的@FXML註解,你的監聽器添加到您的TableView的選擇模型是這樣的:

tableView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> { 
     if(newValue != null){ 
      rowSelected(newValue); 
     } 
    }); 

而且你可以從刪除selectedItems = radniciTabela.getSelectionModel().getSelectedItem();線你的方法並添加爲參數。

+0

這給了我一個Exeption – Kvark900

+0

您可以更新的方法使用類代替T' – Kvark900

+0

有什麼例外?你能複製並粘貼在這裏嗎? – Sunflame

2

使用變化監聽器,並訪問所有的數據行,如:

在這裏與你在表視圖

radniciTabela.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<T>() { 
       @Override 
     public void changed(ObservableValue<? extends T> observableValue, T oldValue, 
         T newValue) { 
      if(newValue != null){ 
       ime.setText(newValue.getIme()); 
       prezime.setText(newValue.getPrezime()); 
       godine.setText(newValue.getGodište()); 
       grad.setText(newValue.getGrad()); 
       adresa.setText(newValue.getAdresa()); 
       telefon.setText(newValue.getTelefon()); 
       email.setText(newValue.getMejl()); 
      } 
     } 
    });