package org.infosec.ismp.applet.manager.component.panel.view.asset;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JTextField;
import org.infosec.ismp.applet.manager.component.panel.SJTUConst;
import org.infosec.ismp.applet.manager.component.panel.utils.SJTUUtils;
import org.infosec.ismp.applet.manager.component.panel.view.BorderPanel;
import twaver.swing.TableLayout;
/**
* 资产信息 面板
* 接口:
* setAssetDevice
* getAssetDevice
*/
public class AssetDevicePanel extends BorderPanel implements PropertyChangeListener {
private AssetDevice assetDevice = new AssetDevice();
private JTextField userField = SJTUUtils.getTextField();
private JTextField telephoneField = SJTUUtils.getTextField();
private JTextField unitField = SJTUUtils.getTextField();
private JTextField departmentField = SJTUUtils.getTextField();
private JTextField statusField = SJTUUtils.getTextField();
private JTextField stockTimeField = SJTUUtils.getTextField();
private JTextField validityPeriodField = SJTUUtils.getTextField();
private JTextField registrationTimeField = SJTUUtils.getTextField();
private DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public AssetDevicePanel() {
super(" 资产信息 ");
initGUI();
updateFields();
assetDevice.addPropertyChangeListener(this);
}
public void initGUI() {
this.setBackground(SJTUConst.PANELBACKGROUND);
double rows[] = { TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED };
double cols[] = { TableLayout.PREFERRED, TableLayout.FILL, TableLayout.PREFERRED, TableLayout.FILL };
TableLayout layout = new TableLayout(cols, rows, 10, 5);
this.setLayout(layout);
this.add(SJTUUtils.getLabel("使用人"), "0,0,0,0");
this.add(userField, "1,0,1,0");
this.add(SJTUUtils.getLabel("电话"), "2,0,2,0");
this.add(telephoneField, "3,0,3,0");
this.add(SJTUUtils.getLabel("单位"), "0,1,0,1");
this.add(unitField, "1,1,1,1");
this.add(SJTUUtils.getLabel("部门"), "2,1,2,1");
this.add(departmentField, "3,1,3,1");
this.add(SJTUUtils.getLabel("资产状态"), "0,2,0,2");
this.add(statusField, "1,2,1,2");
this.add(SJTUUtils.getLabel("采购时间"), "2,2,2,2");
this.add(stockTimeField, "3,2,3,2");
this.add(SJTUUtils.getLabel("有效期"), "0,3,0,3");
this.add(validityPeriodField, "1,3,1,3");
this.add(SJTUUtils.getLabel("注册时间"), "2,3,2,3");
this.add(registrationTimeField, "3,3,3,3");
}
private void updateFields() {
if (assetDevice != null) {
userField.setText(assetDevice.getUser());
telephoneField.setText(assetDevice.getTelephone());
unitField.setText(assetDevice.getUnit());
departmentField.setText(assetDevice.getDepartment());
Integer status = assetDevice.getStatus();
if (status != null) {
statusField.setText(status + "");
}
Date stockTime = assetDevice.getStockTime();
if (stockTime != null) {
stockTimeField.setText(format.format(stockTime));
}
Integer validityPeriod = assetDevice.getValidityPeriod();
if (validityPeriod != null) {
validityPeriodField.setText(validityPeriod + "");
}
Date registrationTime = assetDevice.getRegistrationTime();
if (registrationTime != null) {
registrationTimeField.setText(format.format(registrationTime));
}
} else {
userField.setText("");
telephoneField.setText("");
unitField.setText("");
departmentField.setText("");
statusField.setText("");
stockTimeField.setText("");
validityPeriodField.setText("");
registrationTimeField.setText("");
}
}
public AssetDevice getAssetDevice() {
return assetDevice;
}
public void setAssetDevice(AssetDevice assetDevice) {
if (this.assetDevice != null) {
this.assetDevice.removePropertyChangeListener(this);
}
if (assetDevice != null) {
assetDevice.addPropertyChangeListener(this);
}
this.assetDevice = assetDevice;
updateFields();
}
public void propertyChange(PropertyChangeEvent evt) {
updateFields();
}
}