JavaFX硬焦点丢失在其他窗口区域单击

时间:2016-02-04 14:51:58

标签: java css user-interface javafx

我在JavaFX应用程序中从TextField取消焦点时遇到了一些麻烦......

当窗口布局上的TextField很少时,我可以点击另一个,它会被“重新聚焦”,没关系。

我想要做的是填充我的TextField;在完成填充之后,我想在app-window-area上的其他地方点击(不在其他TextField上),它必须从我的Textfield取消焦点。

我用Google搜索了几个小时,没有结果...... CSS修改也是可以接受的。

希望得到你的帮助或想法!

提前完成。

1 个答案:

答案 0 :(得分:0)

焦点必须某处,所以真正的想法是,如果你不想要任何具有视觉识别的聚焦,或响应键盘输入,有焦点,那么你必须把专注于既不会做这些事情的组件。

例如:

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);
    }
}