📄 updateframe.java
字号:
package java_observer;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
public class UpdateFrame extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
BorderLayout borderLayout1 = new BorderLayout();
JButton jButton1 = new JButton();
updateInterface uf[] = new updateInterface[5];//定义接口数组。
Vector impFrame = new Vector();
private int index;//数组。
public UpdateFrame() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
getContentPane().setLayout(borderLayout1);
jButton1.setText("jButton1");
jButton1.addActionListener(new UpdateFrame_jButton1_actionAdapter(this));
this.getContentPane().add(jButton1, java.awt.BorderLayout.CENTER);
}
//添加观察者
public void addObserver(Object p){
this.uf[index]= (updateInterface) p;//
this.index++;
}
//更改数据
public void notiFyUpdate(){
for(int i=0;i<this.index;i++){
this.uf[i].updateJLable("数据已经更改!");
}
}
public void jButton1_actionPerformed(ActionEvent e) {
this.notiFyUpdate();
}
}
class UpdateFrame_jButton1_actionAdapter implements ActionListener {
private UpdateFrame adaptee;
UpdateFrame_jButton1_actionAdapter(UpdateFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -