allora, ho cercato si seguire la terza soluzione.
nella super-classe ho impostato il layout di base, e messo alcuni metodi generici come protected.
ad esempio:
codice:
protected void setTextButtonAdd(String text) {
btnAdd.setText(text);
}
protected void setTextButtonUp(String text) {
btnUp.setText(text);
}
protected void setTextButtonDel(String text) {
btnDel.setText(text);
}
protected void riempiCombo(ArrayList<? extends Object> list) {
comboUp.removeAllItems();
comboUp.addItem("*");
list.stream().forEach((strObj) -> {
comboUp.addItem(strObj);
});
}
il metodo riempiCombo, riempiraà la jcombobox o con oggetti Author o con oggetti Editor (a seconda di quello che mi serve).
poi nella sotto-classe:
codice:
public class FrameAuthor extends FrameAEBase {
private ReadJson jsonRead = new ReadJson();
private ArrayList<? extends Object> list = null;
public FrameAuthor() {
super();
super.setTextButtonAdd("Aggiungi autore");
super.setTextButtonUp("Modifica autore");
super.setTextButtonDel("Cancella autore");
try {
list = jsonRead.getAllAuthors();
} catch (IOException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
}
super.riempiCombo(list);
}
}
a parte il funzionamento (l'ho testato e funziona), può andar bene??