CsDatePicker.java 2.76 KB
package cn.csbr.app.gui.util;

import cn.csbr.app.gui.util.datecontrol.DatePicker;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;

import java.text.SimpleDateFormat;
import java.util.Locale;

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

    public static HBox createDatePicker(String text,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;");

        Label spacer = new Label();
        spacer.setText("-");

        DatePicker start = new cn.csbr.app.gui.util.datecontrol.DatePicker(Locale.CHINA);
        start.getTextField().setEditable(false);
        start.setDateFormat(new SimpleDateFormat("yyyy-MM-dd"));
        start.getCalendarView().todayButtonTextProperty().set("今天");
        start.getCalendarView().setShowWeeks(false);
        start.getStylesheets().add("styles/DatePicker.css");
        start.setMaxWidth(90);
        start.setAlignment(Pos.CENTER);

        DatePicker end = new cn.csbr.app.gui.util.datecontrol.DatePicker(Locale.CHINA);
        end.getTextField().setEditable(false);
        end.setDateFormat(new SimpleDateFormat("yyyy-MM-dd"));
        end.getCalendarView().todayButtonTextProperty().set("今天");
        end.getCalendarView().setShowWeeks(false);
        end.getStylesheets().add("styles/DatePicker.css");
        end.setMaxWidth(90);
        end.setAlignment(Pos.CENTER);

        if (MinWidth != null) {
            start.setMinWidth(MinWidth);
            end.setMinWidth(MinWidth);
        }
        if (MinHeight != null) {
            hb.setMinHeight(MinHeight);
        }

        hb.getChildren().addAll(label, start,spacer, end);
        if (value != null) {
            start.getTextField().setOnAction(value);
            end.getTextField().setOnAction(value);
        }
        return hb;
    }
    public static void clear(HBox hb){
        DatePicker start = (DatePicker) hb.getChildren().get(1);
        DatePicker end = (DatePicker) hb.getChildren().get(3);

        start.getTextField().setText("");
        end.getTextField().setText("");
//        start.setValue(null);
//        end.setValue(null);
    }
}