Proposal for improving nested controller interaction in JavaFX 2.2 (original) (raw)
Greg Brown greg.x.brown at oracle.com
Wed Feb 22 07:51:14 PST 2012
- Previous message: Proposal for improving nested controller interaction in JavaFX 2.2
- Next message: StageStyle and unified toolbars on the Mac
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
now that I think about it, I wonder if it might make more sense to map nested controller instances directly to including controller fields, like we do with namespace values.
FYI, I have prototyped this and I think it works well. Here's what my primary scene controller looks like now:
public class PrimarySceneController extends Controller { @FXML private Scene scene; // the scene associated with this controller @FXML private Scene dialogScene; // the dialog scene @FXML private DialogSceneController dialogSceneController; // the dialog scene's controller @FXML private ChoiceBox contactChoiceBox; // choice box of contacts to edit
…
@FXML
protected void handleEditButtonAction() {
// Get the selected contact
Contact contact = contactChoiceBox.getSelectionModel().getSelectedItem();
// Populate the dialog with the contact information
dialogSceneController.setContact(contact);
// Show the dialog
Stage dialogStage = new Stage();
dialogStage.setScene(dialogScene);
dialogStage.initOwner(scene.getWindow());
dialogStage.initModality(Modality.APPLICATION_MODAL);
dialogStage.show();
…
}
}
The controller for the include is automatically mapped by the loader to the dialogSceneController field, so it is typed and readily available in my button's action handler.
G
- Previous message: Proposal for improving nested controller interaction in JavaFX 2.2
- Next message: StageStyle and unified toolbars on the Mac
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]