CsTextfield.java 2.38 KB
package cn.csbr.app.gui.util;

import com.sun.javafx.scene.control.skin.FXVK;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Node;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;

import java.awt.*;
import java.io.File;

public class CsTextfield {
    public static HBox createTextfield(String text,String promp,Integer MinWidth,Integer MinHeight) {
        return createTextfield(text,promp,MinWidth,MinHeight,null);
    }
    public static HBox createTextfield(String text,String promp) {

        return createTextfield(text,promp,null,null,null);
    }

    public static HBox createTextfield(String text,String promp,Integer MinWidth,Integer MinHeight,EventHandler<ActionEvent> value) {
        HBox hb = new HBox();
        hb.setAlignment(Pos.CENTER);
        hb.setStyle("-fx-border-color: #E1E1E1; -fx-border-radius: 5;");
        hb.setPadding(new Insets(0,0,0,20));
        Label label = new Label();
        label.setText(text);
        label.setStyle("-fx-font-size:1.4em;");
        TextField textField = new TextField();
        textField.setPromptText(promp);
        //设置弹出软键盘

        textField.getProperties().put("vkType", "text");
        textField.focusedProperty().addListener((e)->{
            try {
                if (textField.focusedProperty().get()) {

                } else {

                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        });
        textField.setStyle("-fx-background-color: transparent;-fx-font-size:1.2em;");
        if (MinWidth != null) {
            textField.setMinWidth(MinWidth);
        }

        if (MinHeight != null) {
            textField.setMinHeight(MinHeight);
        }
        if (value != null) {
            textField.setOnAction(value);
        }
        hb.getChildren().addAll(label, textField);
        textField.clear();

        return hb;
    }
    public static void clear(HBox hb){
        TextField textField = (TextField) hb.getChildren().get(1);
        textField.clear();
        textField.setText("");
    }

//    public static void show(Node node) {
//        FXVK.init(node);
//        FXVK.attach(node);
//    }
//
//    public static void hide() {
//        FXVK.detach();
//    }
}