繁体   English   中英

如何使hbox适合列标题?

[英]How to make hbox fit the column header?

这是自定义列标题的代码:

private HBox createHeader(int index, String name){
        HBox box = new HBox();
        box.setAlignment(Pos.CENTER);

        TextField headerTextField = new TextField(name);
        headerTextField.textProperty().addListener((observable, oldValue, newValue) -> {
            changeHeaderList(oldValue, newValue);
        });


        final ImageView crossImg = new ImageView("file:res/x.png");
        crossImg.setFitHeight(20d);
        crossImg.setFitWidth(20d);
        crossImg.addEventHandler(MouseEvent.MOUSE_CLICKED, (MouseEvent event) -> {
            selectedMatrix.getMatrixRowsArrList().forEach((MatrixRow mr) -> mr.getCells().remove(index));
            selectedMatrix.setNumOfColumns(selectedMatrix.getNumOfColumns() - 1);
            showMatrix(selectedMatrix.getName());
            event.consume();
        });

        box.getChildren().addAll(headerTextField, crossImg);
        return box;
    }

这就是所谓的:

if (editBox.isSelected()) {

    col.setSortable(false);                       
    col.setGraphic(createHeader(i, m.getMatrixRowsArrList().get(0).getCells().get(i)));

它是这样的:

在此处输入图片说明

在全屏模式下:

在此处输入图片说明

如何使TextField延伸到整个HBox? 因此它就像第一张图片一样全屏显示。 谢谢。

您可以在HBox的createHeader方法中设置HGrow

HBox.setHgrow(headerTextField, Priority.ALWAYS);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM