ciao andbin!
intanto grazie per la risposta.
c'è una cosa che non ho ben capito però.
questa sarebbe la sottoclasse concreta:
codice:
public class ControllerAuthor extends ControllerAuthorEditor<Author> {
private Service service;
private ReadJson jsonRead;
private Stage stage;
@FXML
private BorderPane aePane;
@FXML
private ComboBox<Author> comboAE;
@FXML
public void initialize() {
jsonRead = new ReadJson();
service = new Service();
TypeToken<List<Author>> token = getToken();
try {
List<Author> list = jsonRead.readJson(new File(UrlAndPath.JSON_AUTORI), token);
ObservableList<Author> oList = FXCollections.observableArrayList(list);
comboAE.setItems(oList);
comboAE.setCellFactory(new ComboListCell<Author>());
new KeyComboListener(comboAE);
} catch (IOException e) {
GenericDialog.showDialog(e.getMessage(), Alert.AlertType.ERROR);
}
}
private Stage getStage() {
stage = (Stage) aePane.getScene().getWindow();
return stage;
}
@FXML
private void escPressed(KeyEvent event) {
if (event.getCode() == KeyCode.ESCAPE) {
getStage();
stage.close();
}
}
@Override
protected TypeToken<List<Author>> getToken() {
return new TypeToken<List<Author>>() {
};
}
}
suppongo che debba spostare anche altri metodi nella superclasse, sennò non cambia nulla da come stavo prima, o sbaglio??
ad esempio il metodo getStage(), o l'evento escPressed.
sennò ne avrei una copia identica per sottoclasse editor.