2017-02-10 75 views
1

我一直在尋找一段時間,但我還沒有找到任何可行的方法。我想讓它讓每一個用戶點擊一個新的客戶端在我的名單時,客戶細節等領域(見下面的截圖)介紹:如何聆聽JavaFX中的選擇更改ListView

Client screen

報廢解決方案的一羣,我發現後沒有工作線上,這裏是迄今爲止我的基本代碼:

@FXML 
private ListView<Client> clientList; 
private ObservableList clientObservableList; 

@Override 
public void initialize(URL url, ResourceBundle rb) { 
    this.initializeGymState();//this loads in some dummy clients 
    clientObservableList = FXCollections.observableArrayList(gym.getClients()); 
    clientList.getItems().setAll(clientObservableList); 
    clientList.getSelectionModel().selectFirst(); 
    this.clientDisplayDetails();//this displays the client details, works fine 
} 

我甚至不知道該解決方案開始,我有一個ObservableList的原因在那裏是因爲我希望用一個ListChangeListener,但現在我認爲ListChangeListener可以偵聽列表中的更改(add,rmove等),而不是t中的更改他的選擇。我是新來的JavaFX這樣跟我說話我是一個5歲大的孩子,請:P

謝謝你們

回答

2

對於單一選擇:

clientList.getSelectionModel().selectedItemProperty().addListener(...); 

對於多重選擇:

clientList.getSelectionModel().getSelectedItems().addListener(...);