MainPane.fxml
Stream.fxml
Play.fxml
MainPaneController.java
StreamController.java
PlayController.java
<GridPane fx:controller="model.MainController" fx:id="mainGrid"
xmlns:fx="http://javafx.com/fxml" alignment="CENTER" gridLinesVisible="true">
<children>
<fx:include source="Stream.fxml"/>
</children>
<children>
<fx:include source="Play.fxml"/>
</children>
</GridPane>
<TextField fx:id="searchField" text="Search" onAction="#search"/>
public class PlayController implements Initializable {
@FXML
private TextField searchField;
@FXML
protected void search() {
System.out.println("Search");
String text = searchField.getText();
//how to access Label in StreamController
}
}
MainPaneController <-> StreamController
MainController <-> PlayController
和访问字段,如:
mainController.getStreamController.changeLabel(text)
因为我希望有更好的方法来做到这一点。
公开“嵌套”控制器StreamController和PlayController中的属性。这些控制器可以根据需要将属性绑定到它们定义的UI组件。
然后将嵌套控制器注入MainController,如FXML简介中的嵌套控制器一节所述。
更新:这里有一个更类似的示例,其中交互控制器都包含在一个公共FXML中。
我有两个控制器和。我正在读一本书的内容。来自的txt文件,我希望将该文本放置在的文本区域中。代码在中运行并读取良好,但当打开中的窗口时,从中读取的内容。文本内容在文本区域中不可见。我的显示String mine包含内容,但它不显示在的文本区域中。请帮助任何人。非常感谢。 FXMLDocumentController代码 在中,有一个我删除了和,这样代码就可以工作了。
需要你的帮助!这可能是更多的设计角度,但我在我的应用程序中使用这个模式,所以想得到一个想法。 我的问题是直接或间接地从一个控制器访问另一个控制器。是否有任何优雅的设计方法来做到这一点,而不是在另一个控制器中保留一个控制器的引用。 提前致谢
因此,我将一个名为“size”的整数保存到一个名为SettingsStageController的控制器类中。java和我希望通过另一个名为GameStageController的控制器类文件访问该变量。java,但我似乎不知道怎么做。 设置标记控制器。JAVA GameStageController.java
类:DbUserController.cs txtUrl=性能页。fxml TextField c.txtUrl。setText(“测试”); 我指的代码不起作用。 它不会将“TEST TEST”写入TextBox。
我知道有很多关于传递参数的线程,但我仍然不明白。 我有阶段与类。在这个类中,我创建了例如变量。然后我单击此阶段上的按钮,它使用创建新阶段,我可以在其中修改此值。在中是值的setter和getter方法。在中,我可以从中获取值并对其进行编辑,但最后当我关闭第二阶段时,我尝试通过中的setter方法将此编辑后的值设置为新数字。然后我关闭它,然后像第一次一样再次打开它。但是我看不到新的编辑值,我再次看到
我有两个控制器和。 在中,我有一个名为的方法。 如何在中访问此方法?