我在JavaFX应用程序中从TextField中获取焦点时遇到了一些麻烦...
当窗口布局上的文本字段很少时,我可以单击另一个,它将"重新聚焦",没关系。
我想做的是填充我的文本字段;完成填充后,我想单击应用程序窗口区域(而不是其他文本字段)上的其他地方,它必须从我的文本字段上移开焦点。
我已经用谷歌搜索了几个小时,没有结果...CSS修改也是可以接受的。
希望得到您的帮助或想法!
提前感谢。
焦点
必须在某个地方,所以真正的想法是,如果你不想要任何具有视觉识别的焦点,或者响应键盘输入,那么你必须把焦点放在一个不做这些事情的组件上。
所以例如:
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class UnfocusTextField extends Application {
@Override
public void start(Stage primaryStage) {
GridPane root = new GridPane();
root.setOnMousePressed(e -> root.requestFocus());
root.setAlignment(Pos.CENTER);
root.setHgap(10);
root.setVgap(10);
for (int i = 0 ; i < 10; i++) {
root.add(new TextField(), i % 2, i / 2 );
}
Scene scene = new Scene(root, 600, 600);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}