teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

ひとつ前の修正、コード例のが置き換わってませんでした\.\.\.

2016/08/31 16:09

投稿

argius
argius

スコア9396

answer CHANGED
@@ -17,7 +17,7 @@
17
17
  public void initialize(URL url, ResourceBundle rb) {
18
18
  TableViewSelectionModel<TableRecord> tableViewSelectionModel = tableView.getSelectionModel();
19
19
  tableViewSelectionModel.setSelectionMode(SelectionMode.MULTIPLE);
20
- tableView.setOnMouseClicked(evt -> {
20
+ tableView.setOnMousePressed(evt -> {
21
21
  // その時選択した行のインデックスを取得
22
22
  ObservableList<Integer> indices = tableViewSelectionModel.getSelectedIndices();
23
23
  // 以前選択したインデックスを選択状態にする

1

setOnMouseClickedをsetOnMousePressedに置き換えました。

2016/08/31 16:09

投稿

argius
argius

スコア9396

answer CHANGED
@@ -2,6 +2,7 @@
2
2
  別の行が選択されたときに、記録された選択行を選択状態にします。
3
3
 
4
4
  コード例は、最低限の実装で、動作がエレガントではないのですが、Ctrlキー無しで複数選択はできています。
5
+ (追記)`setOnMousePressed`にするとエレガントでないのが解消されたのでコード例を修正しました。詳しくは、[履歴](https://teratail.com/questions/history-reply/74203)とコメント欄を参照してください。
5
6
  あと解除のことも考えてません。
6
7
 
7
8
  - コード例:選択行を記録して選択状態を自動で復元する