Dan*_*roa 5 java model-view-controller decoupling javafx-2
这应该是一个相当简单的问题,但我似乎无法在互联网上找到一个好的答案.
我一直在研究Java FX,我发现它很有趣,尽管我很难满足于如何设法将逻辑与程序的表示分开.
注意:这可能是
Controller.java文件中可能重复的Javafx 2.0操作方法Application.getParameters()
但是在接受的答案中的建议是将变量设置为静态,我也不希望这样做.
我发现的所有教程都有一个控制器,它应该是good'ol MVC方式中表示和逻辑之间的连接.然而,在这里,我发现自己磕磕绊绊,因为我不想初始化一些东西,在这种情况下不重要的东西,并将其传递给我的控制器.
我是否应该将内容传递给我的控制器,还是应该负责初始化(通过自身或通过实例化另一个具有该责任的对象)?
我想在Java FX中将内容传递给我的控制器,我应该这样做还是不好的做法?如果我应该传递东西,我该怎么做?
主要课程
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("ChatGUI.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
Run Code Online (Sandbox Code Playgroud)
和示例控制器(带注释)
@Override
public void initialize(URL url, ResourceBundle rb) {
//Intialize a bunch of stuff here.
connectionManager = new MyConnectionManager();
}
Run Code Online (Sandbox Code Playgroud)
以及我想做的事情:
主要课程
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("ChatGUI.fxml"));
MyConnectionManager connectionManager = new MyConnectionManager();
root.addConnectionManager(connectionManager);
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
Run Code Online (Sandbox Code Playgroud)
和示例控制器(带注释)
@Override
public void initialize(URL url, ResourceBundle rb) {
//Intialize a bunch of stuff here.
connectionManager = new MyConnectionManager();
}
public void addConnectionManager(ConnectionManager manager) {
this->myManager = manager;
}
Run Code Online (Sandbox Code Playgroud)
我想实现类似于上面第二个例子的东西,这是可能的还是我对MVC模式有一些基本的误解?
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |