回答編集履歴
1
コントローラ全体
answer
CHANGED
@@ -3,11 +3,54 @@
|
|
3
3
|
|
4
4
|
fxmlで割り当ててもいいですが、面倒なのでコードで^^;
|
5
5
|
```Java
|
6
|
+
import java.net.URL;
|
7
|
+
import java.util.ResourceBundle;
|
8
|
+
|
9
|
+
import javafx.event.ActionEvent;
|
10
|
+
import javafx.event.EventHandler;
|
11
|
+
import javafx.fxml.FXML;
|
12
|
+
import javafx.fxml.Initializable;
|
13
|
+
import javafx.scene.control.MenuItem;
|
14
|
+
import javafx.scene.control.SplitMenuButton;
|
15
|
+
|
16
|
+
public class Controller implements Initializable {
|
17
|
+
@FXML
|
18
|
+
private SplitMenuButton selectButton;
|
19
|
+
|
20
|
+
@FXML
|
21
|
+
void On_selentButton1(ActionEvent event) {
|
22
|
+
// SplitMenuButtonを押したときにテキストによって処理を分岐
|
23
|
+
switch (selectButton.getText()) {
|
24
|
+
case "全て":
|
25
|
+
System.out.println("全て");
|
26
|
+
break;
|
27
|
+
case "未検品":
|
28
|
+
System.out.println("未検品");
|
29
|
+
break;
|
30
|
+
case "検品中":
|
31
|
+
System.out.println("検品中");
|
32
|
+
break;
|
33
|
+
case "検品済":
|
34
|
+
System.out.println("検品済");
|
35
|
+
break;
|
36
|
+
case "中断中":
|
37
|
+
System.out.println("中断中");
|
38
|
+
break;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
6
|
-
@Override
|
42
|
+
@Override
|
7
|
-
public void initialize(URL location, ResourceBundle resources) {
|
43
|
+
public void initialize(URL location, ResourceBundle resources) {
|
44
|
+
// SplitMenuButtonのメニューを選んだ時にテキストを変える
|
8
|
-
|
45
|
+
selectButton.getItems().forEach(m -> m.setOnAction(e -> selectButton.setText(m.getText())));
|
46
|
+
// ↑↓同じ意味
|
9
|
-
MenuItem menuItem
|
47
|
+
// for (MenuItem menuItem : selectButton.getItems()) {
|
48
|
+
// menuItem.setOnAction(new EventHandler<ActionEvent>() {
|
49
|
+
// @Override public void handle(ActionEvent event) {
|
10
|
-
|
50
|
+
// selectButton.setText(menuItem.getText());
|
51
|
+
// }
|
52
|
+
// });
|
53
|
+
// }
|
11
|
-
}
|
54
|
+
}
|
12
55
|
}
|
13
56
|
```
|