如何将参数传递给javafx中的辅助窗口?有没有办法与相应的控制器通信?
例如:用户从a中选择一个客户,TableView并打开一个新窗口,显示客户的信息.
Stage newStage = new Stage();
try
{
AnchorPane page = (AnchorPane) FXMLLoader.load(HectorGestion.class.getResource(fxmlResource));
Scene scene = new Scene(page);
newStage.setScene(scene);
newStage.setTitle(windowTitle);
newStage.setResizable(isResizable);
if(showRightAway)
{
newStage.show();
}
}
Run Code Online (Sandbox Code Playgroud)
newStage将是新窗口.问题是,我找不到告诉控制器在哪里查找客户信息的方法(通过传递id作为参数).
有任何想法吗?
parameters dependency-injection javafx parameter-passing fxml
我是GUI世界/ OO设计模式的新手,我想在我的GUI应用程序中使用MVC模式,我已经阅读了一些关于MVC模式的教程,模型将包含数据,View将包含可视元素和控制器将在视图和模型之间建立联系.
我有一个包含ListView节点的View,ListView将使用Person Class(Model)填充名称.但我对一件事情有点困惑.
我想知道的是,如果从文件加载数据是由Controller或模型负责的?名称的ObservableList:它应该存储在Controller还是Model中?
我无法将fxml集合绑定到自定义模板.这里的代码如何在xaml中执行:
<ListView ItemsSource="{Binding PersonCollection}">
<StackPanel Orientation="Horizontal">
<Label Content="{Binding FirstName}"></Label>
<ListView ItemsSource="{Binding MiddleNames}">
<Label Content="{Binding}"></Label>
</ListView>
<Label Content="{Binding LastName}"></Label>
</StackPanel>
</ListView>
Run Code Online (Sandbox Code Playgroud)
这里的模型:
class Person
{
String FirstName, LastName;
String[] MiddleNames;
}
Run Code Online (Sandbox Code Playgroud)
布局看起来与此类似:
John Ivy
Robert Downey Junior
Max more middlenames in fact even thousands are possible lastname
Run Code Online (Sandbox Code Playgroud)
可以将可服务的集合绑定到自定义模板吗?我试过了细胞,但是我的头不能缠绕它,因为每个人都只用弦.