带有 StackPane 和自定义控件的 Javafx TabPane

Posted

技术标签:

【中文标题】带有 StackPane 和自定义控件的 Javafx TabPane【英文标题】:Javafx TabPane with StackPane and custom Controls 【发布时间】:2014-12-29 21:42:51 【问题描述】:

我正在用 JAVAFX 开发一个应用程序。主要是,该应用程序使用TabPane 控制器。在第一个选项卡中,我正在为StackPane 加载控制器。在StackPane 中,我默认加载一个带有自定义单元格的列表视图。在每个单元格中,我都有一些按钮。我想在堆栈窗格中添加一个新窗格,并在单击按钮时将其置于前面。 我尝试了toFront()toBack(),但我什么都做不了。 我已经检查过了,两个窗格都已加载,并且它们的内容是正确的。 我无法附上照片,因为我没有足够的代表。

欢迎提出任何建议。

【问题讨论】:

你现在有足够的代表来发布你的照片,或者你可以上传它们并在到达那里时分享链接。还可以考虑添加mcve。我怀疑James_D answer 是正确的,但很难从缺乏提供的材料中推断出来。 【参考方案1】:

很难确切知道出了什么问题,因为您没有发布任何代码,而是来自StackPane Javadocs:

孩子的z-order由孩子的顺序定义 列表,第 0 个孩子在底部,最后一个孩子在顶部。如果一个 边框和/或填充已设置,孩子将被布置 在这些插图中。

所以要将Node 移到前面,您应该将它移到列表的末尾:

StackPane stackPane = ... ;
Node node = ... ;

// move node to front:

// remove node from current location in child list"
stackPane.getChildren().remove(node);
// add node back in at end of child list:
stackPane.getChildren().add(node);

【讨论】:

以上是关于带有 StackPane 和自定义控件的 Javafx TabPane的主要内容,如果未能解决你的问题,请参考以下文章

用户控件库和自定义控件库有啥区别?

第十六天 自定义控件和自定义组合控件

用户控件、服务器控件和自定义控件之间有啥区别?

Swift、iboutlet 和自定义控件

推荐用于开发 ASP.NET 用户和自定义控件的书籍 [关闭]

UI基本控件和自定义视图