質問編集履歴
2
コードの追加
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
スクリーンショット載せました!
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が出力されてしまいます。(他のセルをクリックしてインデックスを取得できていないため)
|