bos开发,分录添加按钮

接上一文,分录添加按钮,之前的那篇文章是应为分录是在container里面的,所以有现成的系统方法可以调用,但是有的时候就是一个分录,这个时候添加按钮就需要自己写方法了,不过网上也能找到别人写好的,可以稍作修改使用:


    //分录右侧添加按钮
    private void addButtonToHMDEntry(KDTable table, KDWorkButton button,int width) {
   	 if (table.getParent() == null || table.getParent().getParent() == null)
   	  return;
   	 // 隐藏按钮
   	 Component c = table.getParent().getParent();
   	 if (c instanceof DetailPanel) {
   	  JPanel panel = (JPanel) c;
   	  JPanel controlPanel = null;
   	  // 获取controlPanel
   	  Component[] components = panel.getComponents();
   	  for (int i = 0; i < components.length; i++) {
   	   Component component = components[i];
   	   if ("controlPanel".equals(component.getName())) {
   	    controlPanel = (KDPanel) component;
   	   }
   	  }
   	  // 获取btn
   	  if (controlPanel != null) {
   	   Rectangle rect = table.getBounds();
   	   int x = rect.width - (button.getWidth() + width);
   	   controlPanel.add(button, new com.kingdee.bos.ctrl.swing.KDLayout.Constraints(x, 3, button.getWidth(), 19, 9));
   	  }
   	 }
   	 
   	}

另外附上调用函数

public void onLoad() throws Exception {
    	// TODO Auto-generated method stub
    	super.onLoad();
    	//设置单据名称默认值
    	if(OprtState.ADDNEW.equals(getOprtState())){
    		txtbillName.setText("质量通病总结");
    	}
    	btnAudit.setEnabled(true);
    	btnUnAudit.setEnabled(true);
    	
    	//下载附件
    	btnSubmintAttach.setText("上传附件");
    	addButtonToHMDEntry(kdtEntrys,btnSubmintAttach,95);
    	btnSubmintAttach.setEnabled(true);
    	//上传附件
    	addButtonToHMDEntry(kdtEntrys, btnDownloadAttach, 120);
    	btnDownloadAttach.setEnabled(true);
    	//btnSubmintAttach.setVisible(true);

    	/*initEntriesF7();*/
    }
    
发布了35 篇原创文章 · 获赞 19 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/m0_37628958/article/details/82981458