// ModelView.java adapated by Dr. I. for CS 102 during Spring, 2003 // Simple view class for Model-View-Controller import java.util.*; import javax.swing.*; public class ModelView extends JPanel implements Observer { // Model to observe private Model model; // JTextField for displaying Model data value private JTextField modelTextField = new JTextField(10); // view constructor public ModelView(Model observableModel) { model = observableModel; model.addObserver(this); // make balanceTextField readonly modelTextField.setEditable( false ); // lay out components add( new JLabel( "Value: " ) ); add( modelTextField ); updateDisplay(); } // get Model for which this view is an Observer public Model getModel() { return model; } // update display with Model data value public void updateDisplay() { // set text in modelTextField modelTextField.setText("" + getModel().getValue()); } // receive updates from Observable Model public void update( Observable observable, Object object ) { updateDisplay(); } }