简单的问题:

我之前肯定使用过setOnAction作为ChoiceBox<T>,但是它声称ChoiceBox类没有这种方法。我使用的是其他计算机,并且已安装Ex(fx)clipse插件。在此线程的底部是我的导入。我也有证明I have used this method of ChoiceBox before。怎么了?它一定非常简单。我之前不知道该如何写,但是在JavaFX API page中看不到它。

编辑:

Runnable version of my class here

实例变量

private VBox root;
private Scene scene;
private static Stage stage;
private Label consoleTitle;
private static TextArea console;
private Button startBtn, endBtn, calibrateBtn, calibrateAreaBtn;
private ChoiceBox<String> lureCB;
private CheckBox lureCKB;
private HBox buttonHB, lureHB;

我的方法正文中的代码块:
// ChoiceBox for the type of lures.
lureCB = new ChoiceBox<>();
lureCB.getItems().addAll("Test",
        "Test",
        "Test",
        "Test",
        "Test",
        "Test");
lureCB.setVisible(false);
lureCB.setOnAction(e ->
{

});

java - JavaFX-无法在ChoiceBox上调用setOnAction()?-LMLPHP

我的导入
package gui;

import java.awt.AWTException;
import java.awt.Robot;
import java.time.LocalTime;

import program.*;
import javafx.application.Application;
import javafx.scene.control.Button;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Region;
import javafx.scene.layout.VBox;
import javafx.geometry.Insets;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.control.Tooltip;
import javafx.scene.text.Font;
import javafx.geometry.Pos;
import javafx.scene.paint.Color;

最佳答案

编辑:

事实证明,从JDK的 8u60 版本开始,仅将setOnAction方法添加到ChoiceBox API中。

java - JavaFX-无法在ChoiceBox上调用setOnAction()?-LMLPHP

08-27 15:07