我在我的代码中有JavaFX TextField,并且希望将操作添加到TextField上的不同事件。onAction为javafx中的textfield
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.event.EventType;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.control.Tooltip;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.*;
import javafx.scene.text.Font;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import java.io.File;
import javafx.beans.value.ChangeListener;
/* Input from user */
weightTF = new TextField();
weightTF.setMaxWidth(36);
activeInsulinTF = new TextField();
activeInsulinTF.setMaxWidth(36);
VBox inputBox = new VBox();
inputBox.setFillWidth(false);
inputBox.setAlignment(Pos.CENTER);
inputBox.getChildren().add(weightTF);
inputBox.getChildren().add(activeInsulinTF);
inputBox.setSpacing(8);
// Add onAction for the texfields
menuHBox.getChildren().add(inputBox);
weightTF.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
double weight = Double.parseDouble(weightTF.getText());
Main.state.setWeight(weight);
System.out.println("Entered weight: " + weight);
}
});
今天我只有在TextField中写入一些文本后按Enter键时才会有动作。我怎样才能添加一个操作来处理标签页?另外,当TextField在点击鼠标时失去焦点时如何反应?
当我阅读文档,它应该是可能的: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TextField.html
希望有人能帮助我:)
谢谢!你的代码标签工作得很好,你让我在正确的方向来解决它的鼠标东西:)。所以现在一切正常。 – Hanna
@Hanna我猜你的问题,但你需要响应用户移动焦点到不同的控制。使用这样的“低级别”事件并不是一个非常可靠的方法。您应该使用文本字段的'focusedProperty'来注册监听器。 –