如何從JavaFX中的TableView
獲取所選項目?從JavaFX中獲取所選項目TableView
我目前使用
ObservableList selectedItems = taview.getSelectionModel().getSelectedItems();
,但不返回我的一個選擇項中選擇模型。
如何從JavaFX中的TableView
獲取所選項目?從JavaFX中獲取所選項目TableView
我目前使用
ObservableList selectedItems = taview.getSelectionModel().getSelectedItems();
,但不返回我的一個選擇項中選擇模型。
好吧,假設您有一個名爲Person
的數據模型類。通過這種方式:
Person person = taview.getSelectionModel().getSelectedItem();
System.out.println(person.getName());
注意TableView
必須採取Person
作爲一個類型參數,以避免鑄造:
@FXML
private TableView<Person> taview;
或
TableView<Person> taview = new TableView<>();
當選擇你行,你會回來的Person
實例。然後做那個你想要的那個實例。
使用此代碼,您可以從JAVAFX TABLEVIEW單元中獲取選定的值。
謝謝..
此代碼爲我工作。但只有當我選擇另一行時纔有效。即使選擇了同一行,每次選擇表格時,如何運行此代碼 – viper
有什麼方法可以讓此偵聽器中的鼠標座標顯示類似彈出菜單的內容? – leobelizquierdo
@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);
}
});
爲我工作;)謝謝 –
如果您有一個名爲Employee的Bean類。
Employee employee= tblView.getSelectionModel().getSelectedItem();
txtEmployeeName.setText(employee.getName());
爲什麼重複接受的答案? – kleopatra
** thanku **這麼多 – user2536158
不客氣! :) –
快速簡單.. – rainer