質問編集履歴

2

コードの追加

2016/07/01 12:53

投稿

ta_ko
ta_ko

スコア13

test CHANGED
File without changes
test CHANGED
@@ -57,3 +57,103 @@
57
57
  右の出力が0になっているため、一番上のセルの情報は取得できているのですが
58
58
 
59
59
  他のセルにカーソルを合わせても0が出力されてしまいます。(他のセルをクリックしてインデックスを取得できていないため)
60
+
61
+
62
+
63
+
64
+
65
+ ~~追記~~
66
+
67
+ ボタン周りのコードです。
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+ ```lang-Java
76
+
77
+ @FXML
78
+
79
+ Button button;
80
+
81
+
82
+
83
+ @FXML
84
+
85
+ static ListCell cell;
86
+
87
+
88
+
89
+ @FXML public void sampleButton(ActionEvent e){
90
+
91
+ button.setOnAction(new EventHandler<ActionEvent>() {
92
+
93
+ @Override public void handle(ActionEvent e) {
94
+
95
+ // getParentを使い、このボタンが含まれるListCellを遡って探す
96
+
97
+ Node n = (Node)(e.getSource());
98
+
99
+ while(n != null && !(n instanceof ListCell)) {
100
+
101
+ n = n.getParent();
102
+
103
+ }
104
+
105
+ if(n != null) {
106
+
107
+ // 見つかった場合、
108
+
109
+ cell = (ListCell) n;
110
+
111
+ System.out.println(cell.getIndex());// ListCell#getIndexで番号が取れる
112
+
113
+ num = cell.getIndex();
114
+
115
+ }
116
+
117
+ }
118
+
119
+ });
120
+
121
+ }
122
+
123
+ ```
124
+
125
+
126
+
127
+
128
+
129
+ ```lang-FXML
130
+
131
+ <?xml version="1.0" encoding="UTF-8"?>
132
+
133
+
134
+
135
+ <AnchorPane id="AnchorPane" fx:id="cell" maxHeight="-1.0"
136
+
137
+ maxWidth="-1.0" minHeight="-1.0" minWidth="-1.0" prefHeight="90.0"
138
+
139
+ prefWidth="500.0" styleClass="cell" xmlns:fx="http://javafx.com/fxml/1"
140
+
141
+ xmlns="http://javafx.com/javafx/2.2" fx:controller="application.CellController">
142
+
143
+ <children>
144
+
145
+ <Button fx:id="button" layoutX="5.0" layoutY="57.0" maxHeight="25.0"
146
+
147
+ maxWidth="25.0" minHeight="20.0" minWidth="20.0" mnemonicParsing="false"
148
+
149
+ onAction="#sampleButton" prefHeight="25.0" prefWidth="25.0"
150
+
151
+ styleClass="circle-buttonfavo" text="" />
152
+
153
+ </children>
154
+
155
+ </AnchorPane>
156
+
157
+
158
+
159
+ ```

1

スクリーンショット載せました!

2016/07/01 12:53

投稿

ta_ko
ta_ko

スコア13

test CHANGED
File without changes
test CHANGED
@@ -21,3 +21,39 @@
21
21
  セルのpaneをクリックすることなくインデックスを取得できる方法があるようでしたら
22
22
 
23
23
  教えてくださるとうれしいです。
24
+
25
+
26
+
27
+ ~~追記~~
28
+
29
+ スクリーンショットを載せます。セルの内容は青い四角で隠しています。
30
+
31
+ カーソルをセルの上でホバーすると出力に
32
+
33
+ listview.getFocusModel().getFocusedIndex()
34
+
35
+ が表示されるようにしています。
36
+
37
+ セルが黒くなっているのがカーソルが合わさっているセルで、
38
+
39
+ セルが青くなっているのがクリックして選択したセルです。
40
+
41
+
42
+
43
+
44
+
45
+ ![イメージ説明](0ee213f1e78f25f135b9ff7d4ffc49ca.png)
46
+
47
+ ↑今一番上のセルにマウスを合わせていて、右の出力では‐1になっておりセルの選択ができていません。
48
+
49
+
50
+
51
+
52
+
53
+ ![イメージ説明](c18221be10e3a8b3dd8b04eb09df73d8.png)
54
+
55
+ ↑この画像では一番上のセルをクリックして選択しています。
56
+
57
+ 右の出力が0になっているため、一番上のセルの情報は取得できているのですが
58
+
59
+ 他のセルにカーソルを合わせても0が出力されてしまいます。(他のセルをクリックしてインデックスを取得できていないため)