package pack;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class DisplayFrom extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
InputForm inputForm;
Observable obsInput;
JTextField display;
public DisplayFrom() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
inputForm = new InputForm();
obsInput = inputForm.getInputInfo();
obsInput.addObserver(new InputFormObserver());
display = new JTextField(10);
add(display);
setTitle("Observer form");
setSize(200, 100);
setLocation(200, 100);
setVisible(true);
}
private class InputFormObserver implements Observer {
public void update(Observable ob, Object o) {
doSomeUpdate();
}
}
public void doSomeUpdate() {
display.setText(inputForm.getText());
JOptionPane.showMessageDialog(DisplayFrom.this,
"This form has been updated");
}
public static void main(String args[]) {
new DisplayFrom();
}
}
.........................................
package pack;
import java.awt.event.*;
import java.util.Observable;
import javax.swing.*;
public class InputForm extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
public InformDisplay inform = new InformDisplay();
JTextField input = new JTextField(10);
public InputForm() {
JPanel panel = new JPanel();
input.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
inform.notifyObservers();
}
});
panel.add(new JLabel("Enter: "));
panel.add(input);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
getContentPane().add(panel);
setTitle("Observable form");
setSize(200, 100);
setVisible(true);
}
public Observable getInputInfo() {
return inform;
}
public String getText() {
return input.getText();
}
private class InformDisplay extends Observable {
public void notifyObservers() {
setChanged();
super.notifyObservers();
}
}
}
...................................
package pack;
import java.util.Observable;
public class MessageBoard extends Observable {
private String message;
public String getMessage() {
return message;
}
public void changeMessage(String message) {
this.message = message;
setChanged();
notifyObservers(message);
}
public static void main(String[] args) {
MessageBoard board = new MessageBoard();
Student bob = new Student();
Student joe = new Student();
board.addObserver(bob);
board.addObserver(joe);
board.changeMessage("More Homework!");
}
}
...................................
package pack;
import java.util.Observable;
import java.util.Observer;
public class Student implements Observer{
public void update(Observable o, Object arg) {
System.out.println("Message board changed: " + arg);
}
}
Niciun comentariu:
Trimiteți un comentariu