抱歉,您的名字含糊不清,但我不确定该怎么称呼,希望我的解释会有所帮助。
我正在编写一个使用Javafx的模块化文本编辑器程序。有许多不同的组件,例如专门的文本编辑器,或者将来可能会有更直观的拖放式界面。
所有用户要使用菜单栏创建组件的新实例,我想这样做。在我看来,用户应该启动该程序,然后能够导航到File>New Component> MySpecializedEditor
,然后将实例化一个新的MySpecializedEditor
实例并将其显示在舞台上。
过去,我是通过创建一个扩展javaFx的MenuBar
并在构造函数中需要borderPane
的类来完成此操作的,因此我可以直接在{{1} }类。
但这似乎是一种不必要的耦合方式。
上一个方法:
在主要的JavaFx文件中
MyMenuBar
在MyMenuBar
MenuBar menuBar = new MyMenuBar(borderPane);
我想知道//Create menu path for File>New Component><List of Components>
for(Component c: componentList)
{
//setOnAction for each element in List of Components that places
//in the center.
MenuItem i = new MenuItem(c.getName());
fileNew.getItems().add(i);//adds component to File>New Component>List of Components
i.setOnAction(event ->
{
borderPane.setCenter((Node) c);//Places clicked component in the center of the screen.
});
}
中是否有单击项返回对组件的引用,以便可以在主应用程序文件中显示新组件?谢谢您的帮助。