设置DatePicker的高度

时间:2014-07-25 08:21:29

标签: java javafx

如何设置DatePicker的高度?

通常情况下,您可以像设置按钮或标签一样设置prefHeightmaxHeight。但它似乎与DatePicker无关。

 DatePicker datePicker = new DatePicker();
 pane.getChildren().add(datePicker);
 datePicker.setMaxHeight(16);

请注意,我只对"输入字段"的高度感兴趣。弹出日历很好。

设置scaleY属性有效,但当然是要收集所有内容......

1 个答案:

答案 0 :(得分:2)

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

Example

以下是一些示例代码:

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()方法可以覆盖区域最大计算大小,您可以阅读DOCs.

更新:

使用setMinHeight()方法,在DatePicker上设置最小高度(使用低于首选高度的值),然后您也可以使用16作为首选高度。

Picture 2 with setMinHeight()

代码段

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);
帕特里克