Java 设置日期选择器';s高度

Java 设置日期选择器';s高度,java,javafx,Java,Javafx,如何设置日期选择器的高度 通常,您会像设置按钮或标签一样设置prefHeight或maxHeight。但它似乎不适用于日期选择器 DatePicker datePicker = new DatePicker(); pane.getChildren().add(datePicker); datePicker.setMaxHeight(16); 注意,我只对“输入字段”的高度感兴趣。弹出式日历很好 设置scaleY属性是可行的,但它当然会压扁一切…我认为您需要使用setPrefHeight(

如何设置日期选择器的高度

通常,您会像设置按钮或标签一样设置
prefHeight
maxHeight
。但它似乎不适用于
日期选择器

 DatePicker datePicker = new DatePicker();
 pane.getChildren().add(datePicker);
 datePicker.setMaxHeight(16);
注意,我只对“输入字段”的高度感兴趣。弹出式日历很好


设置
scaleY
属性是可行的,但它当然会压扁一切…

我认为您需要使用
setPrefHeight()
方法将首选高度设置为
日期选择器

下面是一些示例代码:

import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.scene.Scene;
import javafx.scene.control.DatePicker;
import javafx.scene.control.Label;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;


public class MainApp extends Application {

    @Override
    public void start(Stage stage) throws Exception {

        AnchorPane root = new AnchorPane();

        DatePicker datePicker = new DatePicker();
        datePicker.setMinHeight(12.);
        datePicker.setPrefHeight(16.);
        datePicker.setMaxHeight(60.);
        HBox hBox = new HBox();
        hBox.getChildren().add(new Label("DatePicker with 60px height"));
        hBox.getChildren().add(datePicker);

        HBox hBox1 = new HBox();
        DatePicker datePicker1 = new DatePicker();
        hBox1.getChildren().add(new Label("DatePicker with default height"));
        hBox1.getChildren().add(datePicker1);
        VBox vBox = new VBox(25);
        vBox.getChildren().addAll(hBox, hBox1);
        root.getChildren().add(vBox);
        Scene scene = new Scene(root);

        stage.setTitle("JavaFXs' DatePicker and the setPrefHeigth() method");
        stage.setScene(scene);
        stage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }

}
使用
setMaxHeight()
方法,您可以覆盖区域的最大计算大小,您可以在

更新:

使用
setMinHeight()
方法,在
日期选择器上设置最小高度(使用低于首选高度的值),然后还可以使用16作为首选高度

代码片段

DatePicker datePicker = new DatePicker();
datePicker.setMinHeight(12.);
datePicker.setPrefHeight(16.);
HBox hBox = new HBox();
hBox.getChildren().add(new Label("DatePicker with 16px height"));
hBox.getChildren().add(datePicker);

Patrick

您尝试过更改输入字段使用的字体大小吗?我知道怎么回事了。它不适用于16,因为它太低了。我想这是无法绕过的?