繁体   English   中英

单击按钮时Javafx单元未选择

[英]Javafx cell not selecting when button is clicked

我在每个单元格中都有一个自定义的cellFactory和一个按钮。 单击任何其他节点时,将选择列表中的行,但是如果单击该按钮,则不会选择该行。

我的cellFactory:

public class OrderListViewCell extends ListCell<Order> {
    @FXML
    private Pane container;

    @FXML
    private Button button;

    private FXMLLoader mLLoader;

    @Override
    protected void updateItem(Order order, boolean empty) {
        super.updateItem(order, empty);

        if(empty || order == null) {

            setText(null);
            setGraphic(null);

        } else {
            if (mLLoader == null) {
                mLLoader = new FXMLLoader(getClass().getResource("/FXML/order-cell.fxml"));
                mLLoader.setController(this);
                try {
                    mLLoader.load();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
            setText(null);
            setGraphic(container);
        }

    }
}

默认情况下,单击控件可能不允许选择列表单元格。 在这种情况下,您必须手动处理选择。 包括一个单击的处理程序以按钮以选择基础列表单元。 就像是 ...

    try {
          mLLoader.load();
          button.setOnMouseClicked(e -> getListView().getSelectionModel().select(getItem()));
    }catch (IOException e) {
        e.printStackTrace();
   }

请记住,您不会获得listCell的:focused:selected选择样式,因为按钮将具有焦点。

暂无
暂无

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

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