2016-03-29 5 views
1

私はリストビューと対話する4つのシンプルなボタンを持っています。特定のボタンをクリックすると、リストビューの最初と最後に1つ下に行くことができます。したがって、各ボタンが異なるonActionメソッドを持っています (ボタン:前、次、最後は、開始)リストビューのJavaFxボタンイネーブラー

public void toNext(){ 
    list.getSelectionModel().selectNext(); 
} 

public void toPrevious(){ 
    list.getSelectionModel().selectPrevious(); 
... 

しかし、今、私は彼らが、開始、最後まで行くことができない場合は、ボタンを無効にするかをダウン。私はこの方法toPrevious(例)にこのコードを追加することにより、以下のことを実行しようとしました:

previous.setDisable(list.getSelectionModel().getSelectedIndex() == 0) 

このコードは、ボタンを無効にしていますが、リストビュー内の前の文字列に行くことができたときに、それを有効にしません。誰にもこれに対する簡単な解決策がありますか?

答えて

2

あなたはバインディングを使用することができます。

previous.disableProperty().bind(
    list.getSelectionModel().selectedIndexProperty().isEqualTo(0)); 

next.disableProperty().bind(
    list.getSelectionModel().selectedIndexProperty().isEqualTo(
     Bindings.size(list.getItems()).subtract(1))); 
関連する問題