给分录添加按钮以及相应的事件_BIM开发

给分录添加按钮原理如下:在(EditUI)编辑界面的空白处添加一个WorkButton按键,然后将其绑定到分录上,这样在了客户端显示的时候显示到分录上方

分为以下几步:1.用设计工具给界面添加按钮,同时绑定action事件

2.在java视图添加按钮绑定代码(直接重写initWorkButton方法),以及对应的action事件

如下是我写的实例,我给分录添加了两个新的按钮btnEntrysUpdate和btnEntrysAddNew

已经对应的方法

protected void initWorkButton() {
	super.initWorkButton();
	

	
	//添加修改班组成员和新增劳务人员两个btn
	//2018年9月17日12:26:00 邓天天
	//start
	kDContainer1.addButton(this.btnEntrysUpdate);
	btnEntrysUpdate.setText("修改班组成员");
	btnEntrysUpdate.setVisible(true);
	btnEntrysUpdate.setEnabled(true);
	kDContainer1.addButton(this.btnEntrysAddNew);
	btnEntrysAddNew.setText("新增劳务人员");
	btnEntrysAddNew.setVisible(true);
	btnEntrysAddNew.setEnabled(true);
	//end
	
	}
	//2018年9月17日13:24:54
	//start
	//新建劳务职员 
	@Override
	public void actionEntrysAddNew_actionPerformed(ActionEvent e)
		throws Exception {
		// TODO Auto-generated method stub
		super.actionEntrysAddNew_actionPerformed(e);
		UIContext uiContext = new  UIContext(this);
		uiContext.put("ID", null);
		IUIWindow uiWindow = null;
		
		if ((SwingUtilities.getWindowAncestor(this) != null)
			&& (SwingUtilities.getWindowAncestor(this) instanceof JDialog)) {
			uiWindow = UIFactory.createUIFactory("com.kingdee.eas.base.uiframe.client.UINewTabFactory").create(
				"com.kingdee.eas.ec.basedata.client.ServiceStaffTableEditUI", uiContext, null, OprtState.ADDNEW);				
		} else {
			uiWindow = UIFactory.createUIFactory(
			"com.kingdee.eas.base.uiframe.client.UIModelDialogFactory")
			.create("com.kingdee.eas.ec.basedata.client.ServiceStaffTableEditUI", uiContext, null, OprtState.ADDNEW);
		}
		uiWindow.show();
		
		/*uiWindow = UIFactory.createUIFactory("com.kingdee.eas.base.uiframe.client.UINewTabFactory").create(
			"com.kingdee.eas.ec.basedata.client.ServiceStaffTableEditUI", uiContext, null, OprtState.ADDNEW);*/
		
	}
	//修改班组成员
	@Override
	public void actionEntrysUpdate_actionPerformed(ActionEvent e)
		throws Exception {
		// TODO Auto-generated method stub
		super.actionEntrysUpdate_actionPerformed(e);
		String id = null;
		
		if(kdtEntries.isValid()==false){
			MsgBox.showInfo("班组成员为空,请您先新建班组成员");
			SysUtil.abort();
		}
		
		int row = kdtEntries.getSelectManager().getActiveRowIndex();
		Object obj = kdtEntries.getCell(row, "labourPerson").getValue();
		if(obj instanceof ServiceStaffTableInfo){
			ServiceStaffTableInfo info = (ServiceStaffTableInfo) obj;
			id = info.getId().toString();
		}
        if(id!=null){
        	UIContext uiContext = new UIContext(this);
	uiContext.put("ID", id);			
	IUIWindow uiWindow = null;
	if ((SwingUtilities.getWindowAncestor(this) != null)
		&& (SwingUtilities.getWindowAncestor(this) instanceof JDialog)) {
		uiWindow = UIFactory.createUIFactory("com.kingdee.eas.base.uiframe.client.UINewTabFactory").create(
			"com.kingdee.eas.ec.basedata.client.ServiceStaffTableEditUI", uiContext, null, OprtState.EDIT);				
	} else {
		uiWindow = UIFactory.createUIFactory(
		"com.kingdee.eas.base.uiframe.client.UIModelDialogFactory")
		.create("com.kingdee.eas.ec.basedata.client.ServiceStaffTableEditUI", uiContext, null, OprtState.EDIT);
	}
	uiWindow.show();
        }else{
        	MsgBox.showInfo("请先选择需要修改的班组成员!");
	SysUtil.abort();
        }
	
	}
	//end

 

Python在BIM中的应用: Python是一种高级编程语言,具有易于学习、可读性强、可移植性好等特点,因此在BIM中应用较为广泛。以下是Python在BIM中的应用场景: 1. 自动化流程:Python可以帮助BIM工程师自动化重复性的流程,例如自动化生成模型、自动化批量导出数据等。 2. 数据处理:Python可以处理BIM中的大量数据,例如自动化对模型中的数据进行统计、分析和可视化等。 3. 模型生成:Python可以通过使用开源BIM库(例如OpenBIM、IFCOpenShell等)来生成BIM模型。 4. 插件开发:Python可以作为开发BIM插件的语言,例如为Revit、ArchiCAD等软件开发插件。 BIM在智慧桥梁中的应用: BIM技术在智慧桥梁中的应用可以帮助设计师、施工人员和维护人员更好地协作,提高桥梁的设计、建造和维护效率。以下是BIM在智慧桥梁中的应用场景: 1. 桥梁设计:使用BIM技术可以在桥梁设计阶段中进行模型验证,从而减少设计错误和缺陷。 2. 施工管理:在桥梁施工阶段,BIM技术可以帮助施工人员更好地协调和管理工程进度和施工质量。 3. 维护管理:在桥梁维护阶段,BIM技术可以帮助维护人员更好地管理桥梁的资产信息和维护计划,从而延长桥梁的使用寿命。 4. 数据分析:使用BIM技术可以对桥梁的数据进行分析和可视化,从而更好地了解桥梁的使用情况和预测维护需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值