Nadszedl czas aby nauczyć się "modelu" MVC. Po przeczytaniu kilku stron dokumentacji napisałem pierwsze "coś". Proste okno z dwoma polami, po wciśnięciu przycisu chciałbym aby dane z pól wyświetliły się poniżej. Jednak cos zrobiłem źle i nie moge wyszukać błędu.
public class Osoba {
private String imie;
private String nazwisko;
public Osoba() {
}
public Osoba(String imie, String nazwisko) {
this.imie = imie;
this.nazwisko = nazwisko;
}
public String getImie() {
return imie;
}
public void setImie(String imie) {
this.imie = imie;
}
public String getNazwisko() {
return nazwisko;
}
public void setNazwisko(String nazwisko) {
this.nazwisko = nazwisko;
}
}
public class View extends javax.swing.JFrame implements java.util.Observer{
public View() {
initComponents();
setVisible(true);
setLocationRelativeTo(null);
}
@Override
public void update(Observable obs, Object obj) {
Osoba o = (Osoba) obj;
wyjscieImie.setText(o.getImie());
wyjscieNazwisko.setText(o.getNazwisko());
}
void addController(Controler kontroler) {
Osoba nowaOsoba = new Osoba();
nowaOsoba.setImie(imieField.getText());
nowaOsoba.setNazwisko(nazwiskoField.getText());
kontroler.updateModel(nowaOsoba);
button.addActionListener(kontroler);
}
}
public class Model extends java.util.Observable {
private Osoba o;
public Model() { }
public void setValue(Osoba o) {
this.o = o;
setChanged();
notifyObservers(o);
}
}
public class Controler implements java.awt.event.ActionListener{
Model model;
View widok;
Controler() {
}
public void addModel(Model m){
this.model = m;
}
public void addView(View v){
this.widok = v;
}
public void updateModel(Osoba o){
model.setValue(o);
}
@Override
public void actionPerformed(ActionEvent e) {
}
}
public class MVCForm {
public static void main(String[] args) {
Model model = new Model();
View widok = new View();
model.addObserver(widok);
Controler kontroler = new Controler();
kontroler.addModel(model);
kontroler.addView(widok);
Osoba o = new Osoba();
o.setImie("xxx");
o.setNazwisko("xxx");
widok.addController(kontroler);
}
}