📄 textfieldview.java
字号:
/**
* @author 罗求忠 @edu.buaa.etei
* 2007-9-18 下午07:32:25
*/
package edu.buaa.basic.test.mvc.view;
import java.awt.event.ActionListener;
import java.util.Observable;
import javax.swing.JLabel;
import javax.swing.JTextField;
import edu.buaa.basic.test.mvc.model.AbstractModel;
/**
*
* View类实现接口Observer,需实现其中的方法update()。
* 有了这个方法,当模型Model类的状态发生改变时,
* 与模型相关联的视图中的update()方法就会自动被调用,
* 从而实现视图的自动刷新。
*
*/
public class TextFieldView extends AbstractView{
private JTextField surfAreaTF;
private JTextField volumeTF;
private JTextField radiusTF;
public TextFieldView() {
super();
setLayout(null);
setSize(400, 200);
radiusTF = new JTextField();
radiusTF.setBounds(159, 33, 158, 20);
add(radiusTF);
final JLabel radixLabel = new JLabel();
radixLabel.setText("Radius");
radixLabel.setBounds(78, 35, 60, 15);
add(radixLabel);
final JLabel volumeLabel = new JLabel();
volumeLabel.setText("Volume");
volumeLabel.setBounds(78, 79, 60, 15);
add(volumeLabel);
volumeTF = new JTextField();
volumeTF.setBounds(159, 86, 158, 20);
add(volumeTF);
final JLabel surfAreaLabel = new JLabel();
surfAreaLabel.setText("SurfArea");
surfAreaLabel.setBounds(78, 148, 60, 15);
add(surfAreaLabel);
surfAreaTF = new JTextField();
surfAreaTF.setBounds(159, 146, 158, 20);
add(surfAreaTF);
}
// 利用模型更新视图
public void update(Observable o, Object arg) {
AbstractModel model = (AbstractModel) o;
radiusTF.setText("" + model.getRadius());
volumeTF.setText("" + model.getVolume());
surfAreaTF.setText("" + model.getSurfArea());
}
public void addActionListener(ActionListener al){
radiusTF.addActionListener(al);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -