2013-06-30 79 views

回答

59

好吧,假設您有一個名爲Person的數據模型類。通過這種方式:

Person person = taview.getSelectionModel().getSelectedItem(); 
System.out.println(person.getName());  

注意TableView必須採取Person作爲一個類型參數,以避免鑄造:

@FXML 
private TableView<Person> taview; 

TableView<Person> taview = new TableView<>(); 

當選擇你行,你會回來的Person實例。然後做那個你想要的那個實例。

+0

** thanku **這麼多 – user2536158

+0

不客氣! :) –

+0

快速簡單.. – rainer

6
​​

使用此代碼,您可以從JAVAFX TABLEVIEW單元中獲取選定的值。

謝謝..

+0

此代碼爲我工作。但只有當我選擇另一行時纔有效。即使選擇了同一行,每次選擇表格時,如何運行此代碼 – viper

+0

有什麼方法可以讓此偵聽器中的鼠標座標顯示類似彈出菜單的內容? – leobelizquierdo

2

@pranishres

這是我嘗試了小區選擇更改偵聽器(即使排不改變),靈感來自@Java人的代碼:

tableView.getSelectionModel().setCellSelectionEnabled(true); 
ObservableList selectedCells = tableView.getSelectionModel().getSelectedCells(); 

selectedCells.addListener(new ListChangeListener() { 
    @Override 
    public void onChanged(Change c) { 
     TablePosition tablePosition = (TablePosition) selectedCells.get(0); 
     Object val = tablePosition.getTableColumn().getCellData(tablePosition.getRow()); 
     System.out.println("Selected Value" + val); 
    } 
}); 
+0

爲我工作;)謝謝 –

-1

如果您有一個名爲Employee的Bean類。

Employee employee= tblView.getSelectionModel().getSelectedItem(); 
txtEmployeeName.setText(employee.getName()); 
+0

爲什麼重複接受的答案? – kleopatra